Font Glyph

๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ์—์„œ ์ง€์—ฐ ์‹œ๊ฐ„ ์—†์ด ์›นํฐํŠธ ์„œ๋น™ํ•˜๊ธฐ  ๊ธ€์„ ๋ณด๋‹ค๊ฐ€ Glyph๋ผ๋Š” ๊ฐœ๋…์ด ๋‚˜์™€์„œ ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.

 

Glyph(๊ธ€๋ผํ”„)๋ž€?

Glyph๋Š” ๊ธ€์ž์˜ ์ตœ์†Œ ํ‘œํ˜„์ด๋ฉฐ, ๋œป๊ณผ ์†Œ๋ฆฌ๋ฅผ ์ง€๋‹ˆ์ง€ ์•Š์€ ๋„ํ˜• ๊ธฐํ˜ธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, “๊ฐ€” ๋ผ๋Š” ๊ธ€์ž๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด ๊ธ€์ž๋ฅผ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•  ๊ฒƒ์ธ์ง€๊ฐ€ Glyph์ด๋‹ค.

 

ํ—ท๊ฐˆ๋ฆฌ๋Š” ์šฉ์–ด ์ •๋ฆฌ

๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ๋งˆ์ฃผ์น˜๋Š” ๊ธ€์ž์˜ ๋ชจ์–‘๊ณผ ๊ด€๋ จ๋œ ์šฉ์–ด๋“ค์—๋Š” Character, Font, Glyph (feat. Unicode)๊ฐ€ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ์ฐจ์ด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ์ •์˜ํ•ด๋ณด์ž.

์š”์•ฝํ•˜์ž๋ฉด, Character๋Š” ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ธ€์ž์ด๊ณ , Glyph๋Š” ํ•˜๋‚˜์˜ Character์— ๋Œ€์‘๋˜๋Š” ํ‘œํ˜„์ด๋‹ค. Glyph๋“ค์ด ๋ชจ์—ฌ Font๋ฅผ ๋งŒ๋“ ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ Unicode๋Š” Character ํ•˜๋‚˜ ๋‹น ๋ถ€์—ฌ๋˜๋Š” code point๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ์ด code point๋Š” Glyph๋กœ ํ•˜๋‚˜์”ฉ ๋งค์นญ๋˜์–ด Character์˜ ์Šคํƒ€์ผ์„ ๋ถ€์—ฌํ•œ๋‹ค.

  • Character : ์ฃผ์–ด์ง„ ๋ฏธ๋””์–ด์— ์žˆ๋Š” ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์ ์ธ ๋ชจ์Œ์ด๋‹ค. ์“ฐ์—ฌ์ง€๋Š” ์–ธ์–ด์— ๋Œ€ํ•œ ์ตœ์†Œํ•œ์˜ ๋‹จ์œ„์ด๋‹ค. Character๋Š” font์—์„œ glyph์— ์˜ํ•ด ํ‘œํ˜„๋˜๋Š” ์–ด๋– ํ•œ ๋ฐฉ์‹์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. Character๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ Glyph์™€ ํ•จ๊ป˜ ํ•˜๋‚˜์˜ Font๋กœ ํ‘œํ˜„๋œ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ใ„ฑ / ๊ฐ€ / ๊ถญ / a / .
  • Font : ์ถ”์ƒ์ ์ธ Character๋ฅผ Glyph์— ๋งค์นญ ์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ํŠน์ • ์Šคํƒ€์ผ๊ณผ ๋””์ž์ธ์œผ๋กœ ์–ธ์–ด๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, Times New Roman, Arial ๊ฐ™์€ ๊ฒƒ
  • Glyph : Font์˜ ๊ธฐ๋ณธ ์š”์†Œ์ด๋ฉฐ Character์˜ ๊ธฐ๋ณธ ๋ฌธ์ž ํ‘œํ˜„์ด๋‹ค. Font์— ์žˆ๋Š” Glyph๋“ค์€ Id์™€ index๊ณผ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. Font์—์„œ ํ•œ Character์˜ ํŠน์ •ํ•œ ๊ทธ๋ž˜ํ”ฝ ํ‘œํ˜„์ด๋‚˜ ์ด๋ฏธ์ง€์ด๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ํ˜„์žฌ ใ„ฑ ๊ฐ€ ์“ฐ์—ฌ์ง€๋Š” ํ‘œํ˜„

๋”ฐ๋ผ์„œ, ๊ทธ๋ž˜ํ”ฝ ๋””์ž์ด๋„ˆ๋Š” Character๋ฅผ ์ƒ์„ฑํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ Glyph๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ถ๊ทน์ ์œผ๋กœ๋Š” Font๋ฅผ ๋งŒ๋“ ๋‹ค.

 

๋‹จ์ˆœํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜์—ฌ Character๋Š” ๋‚ด๊ฐ€ ์น˜๋Š” ๊ฒƒ์ด๊ณ , Glyph๋Š” ๋‚ด๊ฐ€ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค. ๋‚ด๊ฐ€ ์น˜๋ฉด์„œ ์–ด๋–ค ์˜๋ฏธ๋ฅผ ๋‹ด์•„์„œ Character๋ฅผ ์น˜์ง€๋งŒ ๋ชจ๋‹ˆํ„ฐ์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฑด ํŠน์ • ํ‘œํ˜„(์Šคํƒ€์ผ)์ด ๊ฐ€๋ฏธ๋œ Glyph์ด๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ ๋ณดํ†ต ํฐํŠธ ํŒŒ์ผ์˜ table ํ˜•ํƒœ๋กœ ๋ณด๋Š” ๊ฒƒ์€ Glyph์™€ Character์˜ Unicode code point๊ฐ€ ๋Œ€์‘๋œ ํ‘œ์ด๋‹ค. ์•„๋ž˜์—์„œ ์‹ค์ œ ์˜ˆ์ œ๋กœ ์‚ดํŽด๋ณด์ž.

 

์‹ค์ œ ์˜ˆ์ œ

์•„๋ž˜๋Š” icon.svg ํŒŒ์ผ์˜ ์ฝ”๋“œ ์ผ๋ถ€์ด๋‹ค.

<glyph unicode="&#xe900;" glyph-name="datalist_12" d="M89.583 725.333c0 ..." />

unicode &#xe900 ๋Š” U+E900๊ณผ ๊ฐ™์œผ๋ฉฐ ์ด์— ํ•ด๋‹นํ•˜๋Š” Character๋Š” ๎ค€ ์ด๊ณ  ์‹ค์ œ ํฐํŠธ ํŒŒ์ผ์—์„œ ์•„์ด์ฝ˜์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€๋ฅผ ๋งค์นญํ•ด๋‘์—ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ํฐํŠธ ํŒŒ์ผ์€ ํ•˜๋‚˜์˜ ์บ๋ฆญํ„ฐ ๋‹น ๊ฐ€์ง€๊ณ  ์žˆ๋Š” unicode code point๋ฅผ glyph์— ํ•˜๋‚˜์”ฉ ๋งค์นญํ•˜๋Š” ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์›๋ฌธ์€ ๋ญ”๋ฐ?

๊ทธ๋ž˜์„œ ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์š”์•ฝํ•˜์ž๋ฉด, ์›นํฐํŠธ ์šฉ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด Font ํŒŒ์ผ์˜ Glyph ๊ฐœ์ˆ˜๋ฅผ ์ค„์ด๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค. ์˜์–ด๋Š” ์กฐํ•ฉ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ธ€์ž๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ํฌํ•จ์— 72๊ฐœ์˜ Glyph๋งŒ ์žˆ์œผ๋ฉด ๋˜์ง€๋งŒ, ํ•œ๊ธ€์€ ์ž๋ชจ์Œ์˜ ์กฐํ•ฉ์„ ๊ณ„์‚ฐํ•˜๋ฉด 11,172์˜ Glyph๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

๋”ฐ๋ผ์„œ ํ•œ๊ธ€์„ ํฌํ•จํ•œ ํฐํŠธํŒŒ์ผ์˜ ์šฉ๋Ÿ‰์€ ์ปค์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋ฅผ ์ค„์ด๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๋ฐฉ์‹์„ ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ํ•„์š”ํ•˜์ง€ ์•Š์€ ์–ธ์–ด์˜ Glyph๋ฅผ ์‚ญ์ œ
  2. ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ํ•œ๊ธ€์˜ Glyph๋ฅผ ์‚ญ์ œ

ํฐํŠธ ํŒŒ์ผ์˜ ๋ณ€ํ™˜์€ https://github.com/fonttools/fonttools ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์ ์šฉํ•ด๋ด๋„ ์ข‹๊ฒ ๋‹ค ๐Ÿ˜Š

 

Appendix

https://blog.banksalad.com/tech/font-preload-on-safari/

https://en.wikipedia.org/wiki/Glyph

https://help.fontlab.com/fontlab/7/manual/About-Glyphs/

https://glyphsapp.com/learn/unicode

http://yhyacinth.github.io/general/2015/05/19/learn-about-font.html

๋ฐ˜์‘ํ˜•