Mathjax: ๋ณต์žกํ•œ ํ…์ŠคํŠธ ๋ ˆ์ด์•„์›ƒ, ํŠนํžˆ TeX ์ž…๋ ฅ [์ด์ „: MathJax๋Š” ๋ณต์žกํ•œ ํ…์ŠคํŠธ ๋ ˆ์ด์•„์›ƒ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.]

์— ๋งŒ๋“  2013๋…„ 05์›” 19์ผ  ยท  23์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mathjax/MathJax

MathJax๋Š” ๊ฐœ๋ณ„ ์ฝ”๋“œ ํฌ์ธํŠธ๋ฅผ ๋ณด๊ธฐ ๋•Œ๋ฌธ์— ์–‘๋ฐฉํ–ฅ์„ฑ, ์ปจํ…์ŠคํŠธ ์…ฐ์ดํ•‘ ๋“ฑ์„ ํ•„์š”๋กœ ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์˜ˆ๋ฅผ ๋“ค์–ด ํžˆ๋ธŒ๋ฆฌ์–ด ๋˜๋Š” ์•„๋ž์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ๋งˆ๋‹ค ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MathJax๊ฐ€ ์ด๋Ÿฌํ•œ ๋ฒ”์œ„๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ฐœ๋ณ„ ๋ฌธ์ž๋กœ ๋‚˜๋ˆ„๋Š” ๋Œ€์‹  ๋ธ”๋ก์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ \text ๋ชจ๋“œ์—์„œ.

http://en.wikipedia.org/wiki/Complex_text_layout

Accepted

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ตฌ์„ฑ์˜ HTML-CSS ๋ฐ SVG ์„น์…˜์—์„œ mtextFontInherit ๋ฅผ true ๋กœ ์„ค์ •ํ•˜๋ฉด MathJax๋Š” \text{} ๋ฅผ ๋‹จ์ผ <span> , ๊ทธ๋ž˜์„œ ๊ทธ๊ฒƒ์€ ๋‹น์‹ ์ด ์š”์ฒญํ•œ๋Œ€๋กœ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. mtextFontInherit ๊ฐ€ false ์ผ ๋•Œ MathJax๊ฐ€ ๋” ์ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๋งž์Šต๋‹ˆ๋‹ค. "์•Œ ์ˆ˜ ์—†๋Š”" ๋ฌธ์ž๋ฅผ ๋ณ„๋„์˜ <span> ์— ๋„ฃ์ง€ ์•Š๊ณ  ๋‹จ์ผ ์ปฌ๋ ‰์…˜์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  23 ๋Œ“๊ธ€

๊ตฌ์„ฑ์˜ HTML-CSS ๋ฐ SVG ์„น์…˜์—์„œ mtextFontInherit ๋ฅผ true ๋กœ ์„ค์ •ํ•˜๋ฉด MathJax๋Š” \text{} ๋ฅผ ๋‹จ์ผ <span> , ๊ทธ๋ž˜์„œ ๊ทธ๊ฒƒ์€ ๋‹น์‹ ์ด ์š”์ฒญํ•œ๋Œ€๋กœ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. mtextFontInherit ๊ฐ€ false ์ผ ๋•Œ MathJax๊ฐ€ ๋” ์ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๋งž์Šต๋‹ˆ๋‹ค. "์•Œ ์ˆ˜ ์—†๋Š”" ๋ฌธ์ž๋ฅผ ๋ณ„๋„์˜ <span> ์— ๋„ฃ์ง€ ์•Š๊ณ  ๋‹จ์ผ ์ปฌ๋ ‰์…˜์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ถ”์‹ , ์ €๋Š” Wikimedia bugzilla ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ๋ณด๊ณ  ์ˆ˜์ •ํ•  ์‚ฌํ•ญ ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๊ธฐ์—์„œ ๋ฌธ์ œ๋ฅผ ์ฐพ์•„์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

mtextFontInherit ํŒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์–ด์จŒ๋“  ๊ทธ๊ฒƒ์„ ํ™œ์„ฑํ™”ํ•  ์˜ˆ์ •์ด์—ˆ์ง€๋งŒ, ์ด๊ฒƒ์ด ๊ทธ๋ ‡๊ฒŒ ํ•ด์•ผ ํ•˜๋Š” ๋˜ ํ•˜๋‚˜์˜ ์ด์œ ์ž…๋‹ˆ๋‹ค.

RTL์— ๋Œ€ํ•œ ์ผ๋ถ€ ์ง€์›์ด v2.3์— ์ถ”๊ฐ€๋˜์—ˆ์ง€๋งŒ ์—ฌ๋Ÿฌ ๋ฌธ์ž ์‹œํ€€์Šค๊ฐ€ โ€‹โ€‹ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ์ทจ๊ธ‰๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. \text{} ์˜ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ๋ฌธ์ž๋Š” ์ด๋ฏธ ๋‹จ์ผ <span> ๋กœ ๊ทธ๋ฃนํ™”๋˜์–ด ์žˆ์–ด์•ผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋‹ค์ง€ ํŽธ๋ฆฌํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

์ด์ƒ์ ์œผ๋กœ MathJax๋Š” ๋‹จ์ผ ๋ผํ‹ด ๋ฌธ์ž์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์„ ํ˜•์„ฑํ•˜๋Š” ๊ฐ ์‹œํ€€์Šค๋ฅผ ๋‹จ์ผ <mi> ๋˜๋Š” <mo> ์— ๋„ฃ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ์–ด๋Š ์ •๋„ ์กฐ์‚ฌํ–ˆ๊ณ  ๊ทธ๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์•ฝ๊ฐ„์˜ ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐํ•ฉ ๋ฌธ์ž๋ฅผ ์ด์ „ ๋ฌธ์ž์™€ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ผ๋ถ€ ๋ฌธ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด virama(U+0D4D)๋Š” ์™ผ์ชฝ ์บ๋ฆญํ„ฐ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์˜ค๋ฅธ์ชฝ ์บ๋ฆญํ„ฐ๋„ ํ•ฉ์ฒดํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ ์ œ๊ฐ€ ์ž˜๋ชป ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋Ÿฌํ•œ ๊ทธ๋ฃนํ™” ์ค‘ ์ผ๋ถ€๋Š” ๋ฌธ์ž๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ธ€๊ผด ๋‚ด์˜ ํ•ฉ์ž์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ MathJax๋Š” ๊ธ€๊ผด์˜ ํ•ฉ์ž ์ •๋ณด์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. MathJax์˜ ๊ธ€๊ผด ํ…Œ์ด๋ธ”์— ํ•ฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ด๋Š” ํ•œ ํŽ˜์ด์ง€์—์„œ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ƒ๋‹นํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‚ด๊ฐ€ ์‹œ๋„ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์ถฉ๋ถ„ํ•œ์ง€ ์•„๋‹Œ์ง€๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ์ต์ˆ™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ˆ˜์šฉํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์˜ ๋ฒ”์œ„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋‹ค์–‘ํ•œ ์–ธ์–ด์—์„œ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๊ฐ ์–ธ์–ด์˜ ์Šคํฌ๋ฆฝํŠธ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„์š”ํ•œ ํŽ˜์ด์ง€์— ๋Œ€ํ•ด ๋กœ๋“œ๋˜๋Š” ๊ฐœ๋ณ„ ํ™•์žฅ์— ๋„ฃ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(MathJax ๊ตฌ์„ฑ์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ๋˜๋Š” ํŽ˜์ด์ง€์˜ ์ˆ˜ํ•™ ๋‚ด์—์„œ \require{} ๋ฅผ ํ†ตํ•ด). ๊ทธ๊ฒƒ์ด ๋ฐ›์•„๋“ค์—ฌ์งˆ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ?

์•„๋งˆ๋„ WMF ์–ธ์–ด ์—”์ง€๋‹ˆ์–ด๋ง์˜ @amire80 ์ด ์—ฌ๊ธฐ์—์„œ ์•ฝ๊ฐ„์˜ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค...

@hartman @amire80 ์„ ์ฐ”๋Ÿฌ๋ณผ ์ˆ˜ ์žˆ์„๊นŒ์š”? ํŠนํžˆ Wikipedia์—์„œ SVG ์ถœ๋ ฅ์„ ๋” ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ถœ์‹œํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‚˜ ์—ฌ๊ธฐ ์žˆ์–ด์š” :)

๋‚ด๊ฐ€ ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค?

ํ…Œ์ŠคํŠธ? - ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

๋น„ ๋ผํ‹ด ๋ฌธ์ž๊ฐ€ ์ˆ˜์‹์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์˜ ์˜ˆ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? - ํžˆ๋ธŒ๋ฆฌ์–ด ๊ต๊ณผ์„œ์—์„œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ ์•„๋ž์–ด, ํŽ˜๋ฅด์‹œ์•„์–ด ๊ต๊ณผ์„œ์—์„œ๋Š” ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. @ebraminio ๊ฐ€ ์—ฌ๊ธฐ์— ๋ผ์–ด๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๊ฑด ์—†๋‚˜์š”?

@amire80 ์— ๋“ค๋Ÿฌ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :-)

๋‚ด๊ฐ€ ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค?

๋ผํ‹ด์–ด๊ฐ€ ์•„๋‹Œ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๊ฒฐํ•ฉ๋œ ๋ฌธ์ž์˜ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ WMF bugzilla/phabricator์— ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. https://github.com/mathjax/MathJax/issues/474#issuecomment -38324717์—์„œ Davide๋ฅผ ์ธ์šฉํ•˜๋ ค๋ฉด :

์ด์ƒ์ ์œผ๋กœ MathJax๋Š” ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์„ ํ˜•์„ฑํ•˜๋Š” ๊ฐ ์‹œํ€€์Šค๋ฅผ ๋‹จ์ผ๋˜๋Š”, ์ง€๊ธˆ ๋‹จ์ผ ๋ผํ‹ด ๋ฌธ์ž์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ. ๋‚˜๋Š” ์ด๊ฒƒ์„ ์–ด๋Š ์ •๋„ ์กฐ์‚ฌํ–ˆ๊ณ  ๊ทธ๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์•ฝ๊ฐ„์˜ ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐํ•ฉ ๋ฌธ์ž๋ฅผ ์ด์ „ ๋ฌธ์ž์™€ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ผ๋ถ€ ๋ฌธ์ž๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด virama(U+0D4D)๋Š” ์™ผ์ชฝ ์บ๋ฆญํ„ฐ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์˜ค๋ฅธ์ชฝ ์บ๋ฆญํ„ฐ๋„ ํ•ฉ์ฒดํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ ์ œ๊ฐ€ ์ž˜๋ชป ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋Ÿฌํ•œ ๊ทธ๋ฃนํ™” ์ค‘ ์ผ๋ถ€๋Š” ๋ฌธ์ž๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ธ€๊ผด ๋‚ด์˜ ํ•ฉ์ž์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ MathJax๋Š” ๊ธ€๊ผด์˜ ํ•ฉ์ž ์ •๋ณด์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. MathJax์˜ ๊ธ€๊ผด ํ…Œ์ด๋ธ”์— ํ•ฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ด๋Š” ํ•œ ํŽ˜์ด์ง€์—์„œ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ƒ๋‹นํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‚ด๊ฐ€ ์‹œ๋„ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์ถฉ๋ถ„ํ•œ์ง€ ์•„๋‹Œ์ง€๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ์ต์ˆ™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ˆ˜์šฉํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์˜ ๋ฒ”์œ„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋‹ค์–‘ํ•œ ์–ธ์–ด์—์„œ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ์˜ ์งˆ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์™€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ „๋ฌธ ์ง€์‹์ด ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? @hartman ์ด ์นœ์ ˆํ•˜๊ฒŒ ์•ˆ๋‚ดํ•ด ์ฃผ์…จ์–ด์š” ;-)

(์•„๋งˆ๋„ ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ๋ณ„๋„์˜ ๋ฌธ์ œ๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.)

virama์˜ (๋งค์šฐ) ๊ธฐ๋ณธ์ ์ธ ์•„์ด๋””์–ด๋Š” ์ž์Œ + virama + ์ž์Œ์˜ ์‹œํ€€์Šค์— 3๊ฐœ์˜ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ž๋Š” ํ•˜๋‚˜์˜ ๊ธ€๋ฆฌํ”„ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ํ›จ์”ฌ ๋” ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ์ผ๋ฐ˜์ ์œผ๋กœ MathJax์˜ ํ˜„์žฌ ์ƒํ™ฉ์„ ์ดํ•ดํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ Œ๋”๋ง์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๋‚ด ์ธ์Šคํ„ด์Šค๋ฅผ ์„ค์น˜ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ํ˜„์žฌ ๋ฒ„์ „์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์˜จ๋ผ์ธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

consonant + virama + consonant์—๋Š” 3๊ฐœ์˜ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๊ฐ€ ์žˆ์œผ๋ฉฐ ํ•œ ๊ธ€๋ฆฌํ”„์˜ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅธ์ชฝ. ๊ฒฐํ•ฉ๋œ ๋ฌธ์ž๋Š” ์ˆ˜ํ•™์  ๋ ˆ์ด์•„์›ƒ์—์„œ ์ถฉ๋ถ„ํžˆ ์ผ๋ฐ˜์ ์ด๋ฏ€๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒํ™ฉ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

(ํ•˜์ง€๋งŒ ํ›จ์”ฌ ๋” ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

๊ทธ๊ฒƒ์ด ์šฐ๋ฆฌ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ž์—ฐ์–ด, ๋น„ ๋ผํ‹ด ๋ฌธ์ž์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

์•„๋‹ˆ๋ฉด ํ˜„์žฌ ๋ฒ„์ „์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ์˜จ๋ผ์ธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

MediaWiki(์ˆ˜ํ•™ ํ™•์žฅ์˜ MathML/SVG ๋ชจ๋“œ ์‚ฌ์šฉ), ๋ธŒ๋ผ์šฐ์ €( ์ด ์ƒ˜ํ”Œ ๋˜๋Š” ์ด codepen )์—์„œ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ MathJax์˜ ๋กœ์ปฌ ๋ณต์‚ฌ๋ณธ์„ ์›ํ•˜๋Š” ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์˜ˆ: เดคเตเดฐ ๋Š” &#xD24;&#xD4D;&#xD30; ๋กœ ๋ณ€ํ™˜๋˜๋ฉฐ ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ๊ฒฐํ•ฉ๋œ ๋ฌธ์ž๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฃจํ‹ด์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— TeX ์ž…๋ ฅ์€ ์ด๊ฒƒ์„ ๋‚ด๋ถ€์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด MathML๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mrow class="MJX-TeXAtom-ORD">
    <mo>&#xD24;</mo>
  </mrow>
  <mrow class="MJX-TeXAtom-ORD">
    <mo>&#xD4D;</mo>
  </mrow>
  <mrow class="MJX-TeXAtom-ORD">
    <mo>&#xD30;</mo>
  </mrow>
</math>

MathJax ์ถœ๋ ฅ์€ ์ฐจ๋ก€๋กœ 3๊ฐœ์˜ ๋ฒ”์œ„(HTML ์ถœ๋ ฅ์—์„œ) ๋˜๋Š” 3๊ฐœ์˜ g(SVG ์ถœ๋ ฅ์—์„œ)๋กœ ๋ถ„ํ• ๋ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด๊ฒƒ์€ ๊ฒฐํ•ฉ๋œ ๋ฌธ์ž์˜ ๋ Œ๋”๋ง์„ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค.

(๋ฐฉ๊ธˆ Firefox๊ฐ€ ๋•Œ๋•Œ๋กœ HTML ์ถœ๋ ฅ์˜ ๋ฒ”์œ„๋ฅผ ๊ฒฐํ•ฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ์˜ˆ: เดคเตเดฐ ํ•˜์ง€๋งŒ เด•เต_เดถ ์˜ ์ฒจ์ž๋Š” ์•„๋‹™๋‹ˆ๋‹ค. Chrome์€ ์•„๋ฌด ๊ฒƒ๋„ ๊ฒฐํ•ฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์—์„œ ๋” "์ผ๊ด€์ "์ž…๋‹ˆ๋‹ค)

๋”ฐ๋ผ์„œ ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. MathML์—์„œ ํ•˜๋‚˜์˜ mi/mo ์š”์†Œ๋กœ ๋‹ค์‹œ ๊ฒฐํ•ฉํ•ด์•ผ ํ•˜๋Š” ๋ชจ๋“  ๊ด€๋ จ ์ƒํ™ฉ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๊ฒฐํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ(๋˜๋Š” ํšจ์œจ์ ์ธ ํœด๋ฆฌ์Šคํ‹ฑ)๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์ผ๋‹จ ๊ทธ๊ฒƒ์ด ์žˆ์œผ๋ฉด ๋ Œ๋”๋ง๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ์—๊ฒŒ ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. MathML์—์„œ ํ•˜๋‚˜์˜ mi/mo ์š”์†Œ๋กœ ๋‹ค์‹œ ๊ฒฐํ•ฉํ•ด์•ผ ํ•˜๋Š” ๋ชจ๋“  ๊ด€๋ จ ์ƒํ™ฉ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๊ฒฐํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ(๋˜๋Š” ํšจ์œจ์ ์ธ ํœด๋ฆฌ์Šคํ‹ฑ)๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ธด ๋…ผํ‰์„ ํ•ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ ์ถ”์ ๊ธฐ์— ์•ฝ๊ฐ„์˜ ์˜คํ”„์‚ฌ์ดํŠธ ํ† ๋ก ์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

์œ ๋‹ˆ์ฝ”๋“œ UCD ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์‹คํ˜„ ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ๋น„์šฉ์ด ๋งŽ์ด ๋“ญ๋‹ˆ๊นŒ?
๊ฐ ๋ฌธ์ž์— ๋Œ€ํ•ด Mathjax์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฐํ•ฉ ํด๋ž˜์Šค? ๊ธฐ๋ณธ์ ์œผ๋กœ(๋˜๋Š”
์ ์–ด๋„ ์ข‹์€ ์ฒซ ๋ฒˆ์งธ ๊ทผ์‚ฌ์น˜๋กœ) 0์ด ์•„๋‹Œ ๋ชจ๋“  ๋ฌธ์ž
๊ฒฐํ•ฉ ํด๋ž˜์Šค(UnicodeData.txt์˜ ํ•„๋“œ 4)๋Š”
์•ž์˜ ๊ฒƒ, ๊ทธ๋ฆฌ๊ณ  ์ถ”๊ฐ€๋กœ ํด๋ž˜์Šค 9(virama)์ธ ๊ฒฝ์šฐ ๋‹ค์Œ
์บ๋ฆญํ„ฐ๋„ ํ•จ๊ป˜ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

tex๋Š” ๋ฌผ๋ก  xetex์™€ ๊ฐ™์€ ์œ ๋‹ˆ์ฝ”๋“œ tex๋„ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜๋Š” luatex๋Š” ์—†์ด๋Š” ์ด๊ฒƒ์„ ๋ฐ”๋กœ์žก์„ _์•„๋‹˜_
๋งˆํฌ์—…
์ฆ‰, \text{abc} ๋˜๋Š” \mathit{abc} ๋˜๋Š” ์ด์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ฒƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ์ž์—ด์„ ํ…์ŠคํŠธ๋กœ ์กฐํŒํ•˜๋Š” ๋ช…๋ น
TeX์˜ ์ผ๋ฐ˜์ ์ธ ๋ถ„ํ•  ์Šต๊ด€์ด ์•„๋‹Œ ๋‹จ์ผ ๊ธ€๊ผด
์บ๋ฆญํ„ฐ๋ณ„๋กœ. ๊ตฌ์กฐ๊ฐ€ ๋‹จ์ผ์ฒ˜๋Ÿผ _๋ณด์—ฌ๋„_
์ž‘๊ฐ€์—๊ฒŒ ์บ๋ฆญํ„ฐ.

ํด๋ž˜์‹ ํ…์Šค์—์„œ๋Š” ๊ธ€๊ผด์ด 256์ž๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‹ค์–‘ํ•œ ๋งคํฌ๋กœ ์žฌ๋งคํ•‘ ํŠธ๋ฆญ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ์— ๋”ฐ๋ผ ๋ฌธ์ž๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ์—๋„ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฆฌํ•œ ์•…์„ผํŠธ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

xetex ๋ฐ luatex์™€ ๊ฐ™์€ ์œ ๋‹ˆ์ฝ”๋“œ tex ๋ณ€ํ˜• ์ง€์›์€ ์•ฝ๊ฐ„ ๊ฐ€๋ณ€์ ์ž…๋‹ˆ๋‹ค. ํ…์ŠคํŠธ์—์„œ xetex
HarfBuzz ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋ฌผ๊ฑด์„ ๋„˜๊ธฐ๋ฏ€๋กœ ๊ฝค ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. luatex๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉฐ ํ˜„์žฌ virama์—์„œ๋Š” ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ˆ˜ํ•™์—์„œ ๋‘˜ ๋‹ค ๋งค์šฐ ์œ ์šฉํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐฉํ˜• MATH ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ๊ธ€๊ผด์ด ํ•„์š”ํ•˜๋ฉฐ virama๊ฐ€ ์žˆ๋Š” ๊ธ€๊ผด์„ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ผํ…์Šค ๋ฌธ์„œ๋Š” ํ…์ŠคํŠธ์—์„œ kartika๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ˆ˜ํ•™์—์„œ ํ˜„๋Œ€ ๋ผํ‹ด ์ˆ˜ํ•™์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์œ ๋Ÿฝ์‹ ์•…์„ผํŠธ๋„ ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜ํ•™์—์„œ ์‹คํŒจํ•˜์ง€๋งŒ, ์—ฌ๊ธฐ์— \mbox $ ๋˜๋Š” MathML์—์„œ mi ๋˜๋Š” mtext ์ผ๋ถ€ ๋งˆํฌ์—…์„ ์ถ”๊ฐ€ํ•˜๋ฉด virama ์˜ˆ์ œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๋Š” ์ƒ๋‹จ์— xetex, ํ•˜๋‹จ์— luatex๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ž์—ด ์ฃผ์œ„์— \text{..} ๋˜๋Š” \mbox{...}์™€ ๊ฐ™์€ ๊ฒƒ์„ ์š”๊ตฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜์ง€๋งŒ, TeX๊ฐ€ ํ˜„์žฌ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์•ž์„œ์„œ ์œ ๋‹ˆ์ฝ”๋“œ ์ง€์›์„ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ "tex-like syntax"์˜ ์‚ฌ์–‘์ด ๋ฌด์—‡์ธ์ง€์— ๋”ฐ๋ผ ์•ฝ๊ฐ„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. TeX๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ด์ƒ์œผ๋กœ ๋ฐ€์–ด ๋„ฃ๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๊นŒ?

\documentclass{article}

\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont{kartika.ttf}


\begin{document}

U+0d24 U+0d4d U+0d30 outputs e.g., เดคเตเดฐ but 

abc $abc \mbox{เดคเตเดฐ} $  U+0063

abรง $abรง \mbox{เดคเตเดฐ} $ U+00e7

abcฬง $abcฬง \mbox{เดคเตเดฐ} $  U+0063 U+0327

\end{document}

virama

ํ† ๋ก  ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ๋‹จ์ผ ๋‹จ์œ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฌธ์ž ์‹œํ€€์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด ์œ ๋‹ˆ์ฝ”๋“œ ์ž์†Œ ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ด ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ - @khaledhosny ๊ฐ€ ๋งํ•œ ๊ฒƒ์€ ๋‚˜์—๊ฒŒ ์˜ณ์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. ๋น„๋ก ์ œ๊ฐ€ ๋ชจ๋“  ๊ฒฝํ—˜์ด ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ. @santhoshtr ์ด ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Santhosh, ์œ„์˜ @pkra ๊ฐ€ ์“ด ์„ธ ๊ฐ€์ง€ ์˜๊ฒฌ์ด ๋ฌธ์ œ๋ฅผ ๊ฐ€์žฅ ์ž˜ ์„ค๋ช…ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

2015๋…„ 3์›” 3์ผ 12:05์— Khaled Hosny [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

ํ† ๋ก  ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค๋งŒ,
์•„์ด๋””์–ด๋Š” ๋‹จ์ผ ๋ฌธ์ž๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฌธ์ž ์‹œํ€€์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋‹จ์œ„, ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์†Œ ํด๋Ÿฌ์Šคํ„ฐ๋ง
http://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries ๋Š”
ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค..

์˜ˆ, ํ•˜์ง€๋งŒ ์งˆ๋ฌธ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด ์–ผ๋งˆ๋‚˜ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š๋ƒ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋„์„œ๊ด€
๊ธฐ๋ณธ ํ”Œ๋žซํผ์ด ์œ ๋‹ˆ์ฝ”๋“œ ์†์„ฑ์„ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ˆ˜๋™์œผ๋กœ
์‚ฌ์šฉ ๊ฐ€๋Šฅ
tex ๊ตฌ๋ฌธ์„ ์—๋ฎฌ๋ ˆ์ดํŠธํ•˜๋Š” ๊ฒฝ์šฐ tex๋Š” ์–ด๋””๊นŒ์ง€ ๊ฐˆ๊นŒ์š”? ๋„ˆ๋งŒํผ์€ ์•Œ์ž–์•„
๋ˆ„๊ตฌ์ฒ˜๋Ÿผ tex ์ง€์›์— ๋Œ€ํ•ด. xetex์—์„œ ์–ผ๋งˆ๋‚˜ ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๊นŒ?
์ด๋Ÿฌํ•œ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ํ…์ŠคํŠธ๋กœ ์ด์Šค์ผ€์ดํ”„ํ•˜์ง€ ์•Š๊ณ  _math_์—์„œ ํ•ฉ๋ฆฌ์ ์ธ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.
\text{..} ๋˜๋Š” ์ด๋Ÿฌํ•œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํ• ๋‹นํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
๊ทธ๋Ÿฐ ํด๋Ÿฌ์Šคํ„ฐ์— \mathclass?

์ž์†Œ์— ๋Œ€ํ•œ CoffeeScript ๊ตฌํ˜„์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
https://github.com/devongovett/grapheme-breaker

์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์œ ์šฉํ•œ ์˜๊ฒฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์š”์•ฝ,

  • xetex/luatex๋Š” \text ์™€ ๊ฐ™์€ ์ถ”๊ฐ€ ๋งˆํฌ์—… ์—†์ด ์ด ๋ฌธ์ œ์—์„œ ์š”์ฒญ๋œ ๋ฐฉ์‹์œผ๋กœ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ด๋Ÿฐ ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•  ๊ณ„ํš์ด ์žˆ๋Š”์ง€ (์ ์–ด๋„ ๋‚˜์—๊ฒŒ๋Š”) ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์†”๋ฃจ์…˜์€ David C๊ฐ€ ์„ค๋ช…ํ•œ ๊ฐ„๋‹จํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์ž ์žฌ์ ์œผ๋กœ grapheme-breaker๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(@hartman์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!)

๊ฑฐ๊ธฐ์— ๋ง๋ถ™์ด์ž๋ฉด,

  • ๋ฐ˜๋ฉด์— LaTeXML ๋ฐ pandoc์„ ์‚ฌ์šฉํ•œ ๋น ๋ฅธ ํ…Œ์ŠคํŠธ๋Š” ์—ฌ๊ธฐ์—์„œ ์š”์ฒญํ•œ ๋ฌธ์ž, ์ฆ‰ xetex/luatex์™€ ๊ฐ™์€ ๋ฌธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์†”๋ฃจ์…˜์€ ํ•ต์‹ฌ TeX ์ž…๋ ฅ์— ์žˆ์„ ์ˆ˜ ์—†์ง€๋งŒ ํ™•์žฅ์ด ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์•„๋งˆ๋„ ์–ด์จŒ๋“  ํ™•์žฅ์œผ๋กœ ๋๋‚ฌ์„ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌผ๋ก  ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ TeX ์—”์ง„์„ ์‹ค์ œ๋กœ ๊ธฐ์ˆ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด MediaWiki/WMF ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์˜๊ฒฌ์„ ๋“ฃ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ•œ ๋ฒˆ ๋” ๋งŽ์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • TeX ์‚ฌ๋žŒ๋“ค์€ xetex/luatex/etc์˜ ๋ฏธ๋ž˜ ๋ฐฉํ–ฅ์„ ์ถ”๊ฐ€ ๋งˆํฌ์—… ์—†์ด ์ˆ˜ํ•™ ๋ชจ๋“œ์—์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๊นŒ?
  • MediaWiki/WMF์—์„œ: ๋น„ํ‘œ์ค€ TeX ๋™์ž‘์ด ๊ด€๋ จ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์‹ค์ œ๋กœ ์›ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๊นŒ?

๋” ๋งŽ์€ ํ”ผ๋“œ๋ฐฑ์ด ์—†๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค / 2.6 ์ด์ •ํ‘œ์—์„œ ๋ฒ—์–ด๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ $x+y=<complex character>$ ์™€ ๊ฐ™์€ ์ผ์„ ํ•˜๊ณ  ์‹ถ์–ดํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ <complex character> ๋Š” ์•„๋งˆ๋„ ๋‹ค์ค‘ ์ฝ”๋“œ ํฌ์ธํŠธ ์ž์†Œ์ด๊ณ  <complex character> ๋Š” ์ˆ˜ํ•™ ์‹๋ณ„์ž๋กœ ์ทจ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ? ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋Š” ํ•ฉ๋ฆฌ์ ์ธ ์˜ˆ์ƒ์ด๋ฉฐ ํ˜„์žฌ์˜ ์œ ๋‹ˆ์ฝ”๋“œ TeX ์—”์ง„์ด ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด(์•„๋งˆ๋„ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค) ๋ฒ„๊ทธ๋‚˜ ๋ˆ„๋ฝ๋œ ๊ธฐ๋Šฅ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ ์„ค๊ณ„์ƒ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์•„๋‹ˆ๋ฉด ์‚ฌ๋žŒ๋“ค์ด $<complex text string>$ ์™€ ๊ฐ™์€ ์ž‘์—…์„ ํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๊นŒ? ์—ฌ๊ธฐ์„œ <complex text string> ๋Š” ๋ณต์žกํ•œ ํ…์ŠคํŠธ ๋ ˆ์ด์•„์›ƒ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์ค‘ ๋ฌธ์ž ํ…์ŠคํŠธ ๋ฌธ์ž์—ด์ด๋ฉฐ ์ ์ ˆํ•œ ํ…์ŠคํŠธ ๋ ˆ์ด์•„์›ƒ(bidi, ๋ชจ์–‘ ๋“ฑ) ? ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ธ ๊ธฐ๋Œ€๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ด๊ฒƒ์ด ์ด์™€ ๊ฐ™์ด ์ทจ๊ธ‰๋˜์–ด์•ผ ํ•˜๋Š” ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด์ž„์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์ผ์ข…์˜ ๋งˆํฌ์—…์ด ์—ฌ๊ธฐ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, @khaledhosny!

[...] ์‚ฌ๋žŒ๋“ค์€ $x+y=์™€ ๊ฐ™์€ ์ผ์„ ํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.$ ์–ด๋””์—์•„๋งˆ๋„ ๋‹ค์ค‘ ์ฝ”๋“œ ํฌ์ธํŠธ ์ž์†Œ์ด๋ฉฐ,์ˆ˜ํ•™ ์‹๋ณ„์ž๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋งž์ฃ ?

๋„ค ์ €๋„ ๊ทธ๋ ‡๊ฒŒ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. (์›๋ž˜ ์œ„ํ‚คํ”ผ๋””์•„ ์ธก์—์„œ ์š”์ฒญํ•œ ๋‚ด์šฉ์ด๋ผ ๋ง์”€๋“œ๋ฆฌ๊ธฐ๊ฐ€ ์กฐ๊ธˆ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.)

ํ•ฉ๋ฆฌ์ ์ธ ๊ธฐ๋Œ€๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค

๊ฐ์‚ฌ ํ•ด์š”!

ํ˜„์žฌ ์œ ๋‹ˆ์ฝ”๋“œ TeX ์—”์ง„์ด ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด(์•„๋งˆ๋„ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค) ๋ฒ„๊ทธ๋‚˜ ๋ˆ„๋ฝ๋œ ๊ธฐ๋Šฅ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ, ์˜๋„๋œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ๋„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. "๊ทธ๋“ค์€ ์•„๋งˆ ํ•˜์ง€ ์•Š์„ ๊ฒƒ"์ด๋ผ๋Š” ๋ถ€๋ถ„์ด ์•ฝ๊ฐ„ ๊ฑฑ์ •๋˜์ง€๋งŒ ๋‹น์‹ ๊ณผ @davidcarlisle ์ด ์œ ๋‹ˆ์ฝ”๋“œ TeX ์—”์ง„์—์„œ ์›ํ•˜๋Š” ๋™์ž‘์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•œ๋‹ค๋ฉด ๊ทธ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.


์—ฌ์ „ํžˆ MediaWiki/WMF/Wikipedia ์ธก์—์„œ ์ฐจ์ž„๋ฒจ์ด ์šธ๋ฆฌ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

F2F์— ๋”ฐ๋ผ v2.6 ๋งˆ์ผ์Šคํ†ค(์ฆ‰, ๊ณง ์ถœ์‹œ๋  ๋ฆด๋ฆฌ์Šค)์—์„œ ์ด๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

ํŠนํžˆ TeX/LaTeX(๋˜๋Š” XeTeX/LuaTeX)์™€์˜ ํ˜ธํ™˜์„ฑ ์ธก๋ฉด์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋ฌด์—‡์ธ์ง€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. WMF์™€ Wikipedia ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์—ฌ๊ธฐ์„œ ์ง„์ •์œผ๋กœ ์›ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€๋„ ๋ถ„๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ถ„๋ช…ํžˆ ํ•˜์ž๋ฉด, ์šฐ๋ฆฌ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ๋๋‚ด์ง€ ์•Š๊ณ  TeX ์ž…๋ ฅ์—์„œ ๋ณต์žกํ•œ ๋ ˆ์ด์•„์›ƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์•Œ์•„๋‚ด๋Š” ๋ฐ ์—ฌ์ „ํžˆ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฏธ๋ž˜์˜ ํญ๋ฐœ: https://github.com/tc39/proposal-intl-segmenter๋กœ ๋ฌธ์ž์—ด์„ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” TC39 ์ œ์•ˆ "์œ ๋‹ˆ์ฝ”๋“œ ๋ถ„ํ• "์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์—๋Š” polyfill์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ๋ถ„๋ช…ํžˆ ๋น„ํ‘œ์ค€ Chrome ๊ธฐ๋Šฅ๋„ ์žˆ์Šต๋‹ˆ๋‹ค).

๋ฉ‹์žˆ๋Š”. @pkra๋‹˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ ์—†์–ด์š”. ํด๋ฆฌํ•„์€ ๋ถˆํ–‰ํžˆ๋„ ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Enligsh๋งŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‚ฌ์šฉํ•ด ๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ํฌ๋กฌ ๋‚ด์žฅ ๊ธฐ๋Šฅ์ด ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰