fontconfig-user
Contents
3. ¿ä¾à ¶Fontconfig Àº ½Ã½ºÅÛ Àü¹ÝÀÇ ±Û²Ã ¼³Á¤, customization, ÀÀ¿ëÇÁ·Î±×·¥À» À§ÇÑ Á¢±Ù¼ºÀ» Á¦°øÇϱâ À§Çؼ ¼³°èµÈ ¶óÀ̺귯¸®ÀÔ´Ï´Ù.
4. ±â´É ¼Ò°³ ¶FontconfigÀº µÎ °³ÀÇ ±âÃÊÀû ¸ðµâÀ» Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. ¼³Á¤¸ðµâÀº XML ÆÄÀϷκÎÅÍ ³»ºÎ¼³Á¤À» ¸¸µé°í ´ëÀÔ(matching)¸ðµâÀº ÆùÆ® ÆÐÅÏÀ» ¹Þ¾Æ °¡Àå ¾Ë¸Â´Â ÆùÆ®¸¦ µÇµ¹·Á ÁÝ´Ï´Ù.
4.1. ÆùÆ® ¼³Á¤ ¶¼³Á¤ ¸ðµâÀº FcConfig datatype, libexpat, ±×¸®°í FcConfigParseÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù. FcConfigParse´Â XML tree¸¦ ¼øȸÇÏ¸é¼ ±× ¾È¿¡¼ ¹ß°ßµÈ µ¥ÀÌÅÍ·Î ¼³Á¤À» ¼öÁ¤ÇÕ´Ï´Ù. ¿ÜºÎÀû °üÁ¡¿¡¼ º¼ ¶§, ¶óÀ̺귯¸®ÀÇ ¼³Á¤Àº À¯È¿ÇÑ XML tree¸¦ »ý¼ºÇÑ ÈÄ FcConfigParse¿¡ Á¦°øÇÏ´Â °ÍÀ¸·Î ÀÌ·ç¾îÁý´Ï´Ù. ½ÇÇàÁßÀÎ ¼³Á¤À» ¹Ù²Ù±â À§ÇØ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô Á¦°øµÇ´Â ¶Ç´Ù¸¥ ¸ÞÄ«´ÏÁò ÇÑ°¡Áö´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô Á¦°øµÈ ÆùÆ® ÆÄÀÏ ¸ñ·Ï¿¡ ÆùÆ®¿Í µð·ºÅ丮¸¦ Ãß°¡ÇÏ´Â °ÍÀÔ´Ï´Ù.
±× Àǵµ´Â ÆùÆ® ¼³Á¤À» »ó´ëÀûÀ¸·Î Á¤ÀûÀÌ¸ç °¡´ÉÇÑÇÑ ¸¹Àº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °øÀ¯ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô µÈ´Ù¸é ÇÑ ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ ´Ù¸¥ ÀÀ¿ëÇÁ±×·¥À¸·Î ÆùÆ® À̸ªÀ» ³Ñ±æ ¶§ Á»´õ ¾ÈÁ¤ÀûÀÎ ÆùÆ® ¼±ÅÃÀ» ±â´ëÇÒ ¼ö ÀÖ½À´Ï´Ù. XMLÀº ¿Ã¹Ù¸¥ ±¸Á¶¿Í ¹®¹ýÀ» À¯ÁöÇÒ ¶§ ¿ÜºÎ ¿¡ÀÌÀüÆ®°¡ ¼öÁ¤Çϱ⠽±±â ¶§¹®¿¡ ¼³Á¤ÆÄÀÏ Æ÷¸ËÀ¸·Î ¼±ÅÃÇß½À´Ï´Ù.
ÆùÆ® ¼³Á¤Àº ÆùÆ® ¸ÅĪ°ú ºÐ¸®µË´Ï´Ù. ÀÀ¿ëÇÁ±×·¥ ÀڽŸ¸ÀÇ ¸ÅĪ ¼öÇàÀÌ ÇÊ¿äÇÒ °æ¿ì ¶óÀ̺귯¸®¿¡¼ °¡´ÉÇÑ ÆùÆ®¿¡ Á¢±ÙÇؼ °³º°ÀûÀÎ ¸ÅĪÀ» ¼öÇàÇÕ´Ï´Ù. ÀÌ Àǵµ´Â ÀÀ¿ëÇÁ±×·¥À¸·Î ÇÏ¿©±Ý Fontconfig ¶óÀ̺귯¸®¿Í °³º°ÀûÀÎ ¼³Á¤ ¸ÞÄ«´ÏÁò Áß Çϳª¸¦ ¼±ÅÃÇϵµ·Ï °Á¦ÇÏÁö ¾Ê°í ¶óÀ̺귯¸®¿¡¼ ÀûÇÕÇÑ ±â´ÉÀ» ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï Çϴµ¥ ÀÖ½À´Ï´Ù. fontconfigÀÇ ¸ñÇ¥´Â ¸ðµç ÀÀ¿ëÇÁ±×·¥ÀÇ ÆùÆ® ¼³Á¤ÀÌ ÇÑ °÷¿¡ ÁýÁߵǵµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù. ÁýÁßµÈ ÆùÆ® ¼³Á¤Àº ÆùÆ® ¼³Ä¡¿Í Ä¿½ºÅ͸¶ÀÌÁ¦À̼ÇÀ» ´Ü¼øÈ, Á¤ÇüÈ ÇÒ °ÍÀÔ´Ï´Ù.
4.2. ÆùÆ® Ư¼º ¶ÆùÆ® ÆÐÅÏÀº º»ÁúÀûÀ¸·Î ¾î¶²ÇÑ Æ¯¼ºµµ °¡Áú ¼ö ÀÖ´Â ¹Ý¸é, ¿¬°ü¼ºÀÌ Àִ ŸÀÔµéÀº Àß ¾Ë·ÁÁø ¸î¸î Ư¼ºÀÌ ÀÖ½À´Ï´Ù. FontconfigÀº ÆùÆ® ¸ÅĪ°ú ÆùÆ® ¿Ï¼º¿¡ ÀÌ·¯ÇÑ Æ¯¼º Áß ÀϺθ¦ »ç¿ëÇÕ´Ï´Ù. ´Ù¸¥ °ÍµéÀº ÀÀ¿ëÇÁ·Î±×·¥ ·»´õ¸µ ¸ÞÄ«´ÏÁò ÆíÀǸ¦ À§ÇØ Á¦°øµË´Ï´Ù.
4.3. ÆùÆ®¸ÅĪ(¼öÁ¤ ÇÊ¿ä) ¶FontconfigÀº Á¦°ø¹ÞÀº ÆÐÅÏ°ú ½Ã½ºÅÛ ³»¿¡¼ »ç¿ë°¡´ÉÇÑ ¸ðµç ÆùÆ®¿ÍÀÇ Â÷À̸¦ ºñ±³, ¸ÅĪÀ» ¼öÇàÇÕ´Ï´Ù. °¡Àå ±ÙÁ¢ÇÑ ÆùÆ®°¡ ¼±Åõ˴ϴÙ. ÀÌ ¹æ½ÄÀº ÆùÆ®°¡ Ç×»ó (ÀÀ¿ëÇÁ±×·¥¿¡ ¿ä±¸¿¡) ÆùÆ®¸¦ ¹ÝȯÇϸ®¶ó´Â °ÍÀ» º¸ÀåÇÏÁö¸¸, ¿ä±¸¹ÞÀº ÆÐÅÏ¿¡ ºÎÇÕÇϸ®¶ó´Â °ÍÀº º¸ÀåÇÏÁö ¸øÇÕ´Ï´Ù.
ÆùÆ®¸ÅĪÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ±¸¼ºÇÑ ÆÐÅÏÀ» °¡Áö°í ½ÃÀÛÇÕ´Ï´Ù. ÆùÆ®¸¦ °áÁ¤ÇÏ´Â ¼Ó¼º(attributes)Àº ÇÑ ÆÐÅÏ¿¡ ¸ð¾ÆÁý´Ï´Ù. ÆÐÅÏÀÇ °¢ Ư¼ºÀº Çϳª ÀÌ»óÀÇ °ªÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù; ÆÐÅÏÀº ¸ñ·ÏÀÇ ¼ø¼´ë·Î ¿ì¼±¼øÀ§¸¦ °®½À´Ï´Ù. ¸®½ºÆ®¿¡¼ ¾Õ¼ Àִ Ư¼º°ú ¸ÅÄ¡µÉ °æ¿ì µÚ¿¡ Àִ Ư¼º°ú ¸ÅÄ¡µÇ´Â °Í¿¡ ºñÇØ ´õ "±ÙÁ¢ÇÑ" °ÍÀ¸·Î ÆǴܵ˴ϴÙ.
óÀ½ Á¦°øµÈ ÆÐÅÏÀº ¼öÁ¤ ¸í·É¾î ¸ñ·Ï¿¡ ÀÇ°Å ¼öÁ¤µË´Ï´Ù. ¼öÁ¤ ¸í·É¾î´Â ƯÁ¤ ÆÐÅÏ¿¡¸¸ Àû¿ëµÇµµ·Ï ¼³Á¤ÆÄÀÏ¿¡ ±â·ÏµÇ¾î ÀÖ½À´Ï´Ù. ( The initial pattern is modified by applying the list of editing instructions specific to patterns found in the configuration) °¢ ¸í·ÉÀº ¸ÅÄ¡ ¼±¾ð°ú ¸í·É ¼öÁ¤ ¼¼Æ®·Î ÀÌ·ç¾îÁý´Ï´Ù. ¸í·ÉÀº ¼³Á¤¿¡ ÀÖ´Â ¼ø¼´ë·Î ½ÇÇàµË´Ï´Ù. °¢°¢ÀÇ ¸ÅĪÀº ¿¬°áµÈ ÀÏ·ÃÀÇ ¼öÁ¤¸í·ÉÀ» ½ÇÇà½Ãŵ´Ï´Ù.
ÆÐÅÏÀÌ ¼öÁ¤µÈ ÈÄ, »ç¿ë°¡´ÉÇÑ Æ¯¼ºÀ» Á¤±ÔÈ Çϱâ À§ÇÏ¿© ÀÏ·ÃÀÇ ±âº»ÀûÀΠġȯÀÌ ¼öÇàµË´Ï´Ù.; ÀÌ ÀÛ¾÷Àº ·»´õ¸µ ÇÒ¶§¿¡ ²÷ÀÓ¾øÀÌ ´Ù¾çÇÑ ÆùÆ® Ư¼ºÀÇ ±âº»°ªÀ» Á¦°øÇϱâ À§ÇØ ÇϺΠ°èÃþÀÇ Çʿ伺À» ¹èÁ¦ÇÕ´Ï´Ù.
Á¤±Ô ÆùÆ® ÆÐÅÏÀº ÃÖÁ¾ÀûÀ¸·Î °¡¿ëÇÑ ¸ðµç ÆùÆ®¿Í ¸ÅÄ¡µË´Ï´Ù. ÆÐÅÏ°ú ÆùÆ® »çÀÌÀÇ °Å¸®´Â ¿©·¯ Ư¼º °¢°³º°·Î ÃøÁ¤µË´Ï´Ù.foundry, charset, family, lang, spacing, pixelsize, style, slant, weight, antialias, rasterizer and outline. ÀÌ ¸ñ·Ï´Â ¿ì¼±¼øÀ§ÀÔ´Ï´Ù. -- ¸ñ·Ï¿¡¼ À§¿¡ ÀÖ´Â ¿ä¼Ò¿ÍÀÇ ºñ±³°á°ú´Â ¾Æ·¡ ¿ä¼Ò¿ÍÀÇ ºñ±³°á°úº¸´Ù Á߽õ˴ϴÙ.
ÀÌ ±ÔÄ¢¿¡ Ưº°ÇÑ ¿¹¿Ü°¡ ÀÖ½À´Ï´Ù. family nameÀº strong °ú weak, µÎ °³ÀÇ ¹À½À¸·Î ³ª´¹´Ï´Ù. strong family name Àº ¸ÅÄ¡¿¡¼ lang ¿ä¼Òº¸´Ù ´õ Å« ¿ì¼±±ÇÀÌ ÁÖ¾îÁö´Â ¹Ý¸é weak family nameÀº lang ¿ä¼Òº¸´Ù ³·Àº ¿ì¼±±ÇÀÌ ÁÖ¾îÁý´Ï´Ù. ÀÌ ±ÔÄ¢Àº document°¡ ÁöÁ¤ÇÑ ÆùÆ®°¡ ¸ðµÎ »ç¿ëºÒ°¡À϶§ document language°¡ ÆùÆ® ¼±ÅÃÀ» ¼öÇàÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù.
ÆùÆ® ÀÚü¿¡´Â ¾øÁö¸¸ ÆÐÅÏ¿¡´Â Àִ Ư¼ºÀ» Æ÷ÇÔÇÒ ¼ö ÀÖµµ·Ï ÇÑ È®ÀåµÈ ÆùÆ®¸¦ ³ªÅ¸³»´Â ÆÐÅÏÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ·»´õ¸µ ¸í·ÉÀ̳ª ¾î¶² µ¥ÀÌÅ͸¦ ¸ÅĪ ½Ã½ºÅÛÀ» ÅëÇؼ Àü´Þ ÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. ¸¶Áö¸·À¸·Î, ¼³Á¤¿¡ ÀÖ´Â ÆùÆ®¿¡ Àû¿ëµÇ´Â ¼öÁ¤ ¸í·É ¸®½ºÆ®°¡ ÆÐÅÏ¿¡ Àû¿ëµË´Ï´Ù. ÀÌ ¼öÁ¤µÈ ÆÐÅÏÀ» ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô µ¹·ÁÁÝ´Ï´Ù.
¸®ÅÏ °ªÀº ÆÄÀÏÀ̸§, Çȼ¿ »çÀÌÁî, ±×¸®°í ´Ù¸¥ ·»´õ¸µ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ¿© ÆùÆ®¸¦ À§Ä¡½ÃÅ°°í rasterizeÇϱ⿡ ÃæºÐÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. Æ÷ÇÔµÈ Á¤º¸´Â FreeType library¿¡ Á¯Çô Á¾¼ÓµÇÁö ¾Ê±â ¶§¹®¿¡, ÀÀ¿ëÇÁ·Î±×·¥Àº ¾î¶² rasterization engineµµ, ½ÉÁö¾î ÀÎ½ÄµÈ ÆùÆ®¸¦ °¡Áö°í Á÷Á¢ ¾ï¼¼½º ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¼³Á¤¿¡ ÀÖ´Â ¸ÅÄ¡/¼öÁ¤ ¼ø¼´Â µÎ °¡Áö °æ·Î·Î ¼öÇàµË´Ï´Ù. ¿Ö³ÄÇÏ¸é º»ÁúÀûÀ¸·Î ´Ù¸¥ µÎ °¡Áö operationÀÌ ÇÊ¿äÇϱ⠶§¹®ÀÔ´Ï´Ù. ÀüÀÚ´Â familiesÀÇ º°¸íÀ» Áþ°Å³ª ÀûÇÕÇÑ µðÆúÆ®¸¦ Ãß°¡ÇÏ´Â µî ÆùÆ® ¼±Åà ¹æ¹ýÀ» ¼öÁ¤ÇÏ´Â °ÍÀÌ°í ´Ù¸¥ Çϳª´Â ¼±ÅÃµÈ ÆùÆ®°¡ rasterized µÇ´Â ¹æ¹ýÀ» ¼öÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×°ÍµéÀº ¸ÅÄ¡½ÇÆа¡ Á¾Á¾ ¹ß»ýÇϱ⠶§¹®¿¡ º»·¡ÀÇ ÆÐÅÏÀÌ ¾Æ´Ñ ¼±ÅÃµÈ ÆùÆ®¿¡ Àû¿ëµÇ¾î¾ß ÇÕ´Ï´Ù.
4.4. ÆùÆ® À̸§ ¶FontconfigÀº ¶óÀ̺귯¸®°¡ ¼ö¿ëÇÏ°í »ý¼ºÇÒ ¼ö ÀÖ´Â ±³°ú¼ÀûÀÎ ÆÐÅÏ Ç¥Çö¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù. Ç¥Çö¹æ¹ýÀº ¼¼ ºÎºÐÀ¸·Î ³ª´µ¸ç, ù°´Â family names ¸ñ·Ï, µÑ°´Â Æ÷ÀÎÆ® »çÀÌÁî ¸ñ·Ï, ¸¶Áö¸·À¸·Î Ãß°¡ÀûÀΠƯ¼º ¸ñ·ÏÀÔ´Ï´Ù.
<families>-<point sizes>:<name1>=<values1>:<name2>=<values2>...
Values´Â ¸ñ·Ï³»¿¡¼ ÄÞ¸¶·Î ºÐ¸®µË´Ï´Ù. nameÀº families³ª Æ÷ÀÎÆ® »çÀÌÁ ÇÊ¿ä·Î ÇÏÁö ¾Ê½À´Ï´Ù; ¹«½ÃµÉ ¼ö ÀÖ½À´Ï´Ù. °Ô´Ù°¡ name°ú value¸¦ µ¿½Ã¿¡ °¡¸®Å°´Â ½Éº¼¸¯ »ó¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ´ÙÀ½°ú °°½À´Ï´Ù.
5. Lang ÅÂ±×µé ¶µ¥ÀÌÅͺ£À̽ºÀÇ °¢ ÆùÆ®µéÀº ÀÚ½ÅÀÌ Áö¿øÇÏ´Â ¾ð¾î ¸ñ·ÏÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ´Â ÆùÆ®ÀÇ À¯´ÏÄÚµå Àû¿ë¹üÀ§¿Í °¢ ¾ð¾îÀÇ Ã¶ÀÚ¹ýÀ» ºñ±³Çؼ ¾ò½À´Ï´Ù. ¾ð¾î´Â RFC-3066 ȣȯ ÀÛ¸í¹ýÀ» ÀÌ¿ëÇؼ taggedµÇ¸ç µÎ ºÎºÐÀ¸·Î ³ª´²Áý´Ï´Ù. -- ISO 639 ¾ð¾î tag, ÇÏÀÌÇ , ISO 3166 ±¹°¡ ÄÚµå ¼øÀ¸·Î Ç¥ÇöÇÕ´Ï´Ù. ÇÏÀÌÇ°ú ±¹°¡ ÄÚµå´Â »ý·«µÉ ¼ö ÀÖ½À´Ï´Ù.
Fontconfig ¶óÀ̺귯¸®¿¡´Â ³»ÀåµÈ ¸î¸î ¾ð¾îÀÇ Ã¶ÀÚ¹ýÀÌ ÀÖ½À´Ï´Ù. ¶óÀ̺귯¸®¸¦ rebuildingÇÏÁö ¾Ê°í »õ·Î¿î öÀÚ¹ýÀ» Ãß°¡Çϱâ À§ÇÑ ±ÔÁ¤Àº ¸¸µé¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù. ÇöÀç ISO 639-1ÀÇ 139¾ð¾î Áß 122°³¸¦ Áö¿øÇϸç, ISO 639-2ÀÇ 141°³ÀÇ µÎ ¹ÙÀÌÆ®(2 ¹ÙÀÌÆ®) ¾ð¾î Áß 141°³¿Í, ¼¼ ¹ÙÀÌÆ® ¾ð¾î 30°³¸¦ Áö¿øÇÕ´Ï´Ù. µÎ ¹ÙÀÌÆ®¿Í ¼¼ ¹ÙÀÌÆ® ¾ð¾î´Â µÑ ´Ù ¿ÀÁ÷ µÎ ¹ÙÀÌÆ® ÄÚµå·Î¸¸ Áö¿øµË´Ï´Ù.
±Ùº»ÀûÀ¸·Î ´Ù¸¥ ¹®ÀÚ ÁýÇÕÀ» °¡Áö°í ¿©·¯ Áö¿ª¿¡¼ »ç¿ëµÇ´Â ¾ð¾î¸¦ Áö¿øÇϱâ À§ÇØ fontconfigÀº Áö¿ªº° ¹®¹ýÀ» Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ¿¡´Â Azerbaijani, Kurdish, Pashto, Tigrinya and Chinese µîÀÌ Æ÷ÇԵ˴ϴÙ.
6. ÆÄÀÏ Æ÷¸Ë ¼³Á¤ ¶fontconfig ¼³Á¤ ÆÄÀÏÀº XMLÆ÷¸ËÀ¸·Î ÀúÀåµË´Ï´Ù; ÀÌ Æ÷¸ËÀº ¿ÜºÎ ¼³Á¤ ÆíÁýµµ±¸°¡ ¼³Á¤ÆÄÀÏÀ» ½±°Ô °íÄ¡°í ¹®¹ý¿¡ ¸Â°Ô »ý¼ºÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. XMLÆÄÀÏÀº plain textÀ̹ǷΠ¼÷·ÃµÈ »ç¿ëÀÚ´Â ÅؽºÆ® ÆíÁý±â·Î ¼³Á¤ ÆÄÀÏÀ» Á÷Á¢ ´Ù·ê ¼ö µµ ÀÖ½À´Ï´Ù.
fontconfig ¹®¼ Á¾·ù Á¤ÀÇ´Â "fonts.dtd"¶ó´Â ¿ÜºÎ entity¿¡ ÀÖ½À´Ï´Ù. ÀÌ´Â º¸Åë ±âº» ÆùÆ® ¼³Á¤ µð·ºÅ丮¿¡ ÀÖ½À´Ï´Ù.(/etc/fonts) °¢ ¼³Á¤ ÆÄÀÏÀº ¾Æ·¡ÀÇ structure¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> ... </fontconfig> 6.1. <fontconfig> ¶ÆùÆ® ¼³Á¤ÀÇ ÃÖ»óÀ§ ¿ä¼Ò·Î¼ dir, cache, include, match ±×¸®°í alias ¿ä¼Ò¸¦ ¼ø¼¿¡ »ó°ü¾øÀÌ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
6.3. chche ¶ÀÌ ¿ä¼Ò´Â À¯Àúº° ÆùÆ® Á¤º¸ cache¸¦ À§ÇÑ ÆÄÀÏÀÇ À̸§À» Æ÷ÇÔÇÕ´Ï´Ù. ¸¸¾à ~·Î ½ÃÀÛÇÑ´Ù¸é À¯ÀúÀÇ È¨µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº µð·ºÅ丮º° cache ÆÄÀÏ¿¡ ¾ø´Â ÆùÆ®¿¡ ´ëÇÑ Á¤º¸¸¦ ÀúÀåÇϱâ À§ÇØ »ç¿ëµË´Ï´Ù. ±×°ÍÀº fontconfig library ¿¡ ÀÇÇØ ÀÚµ¿À¸·Î À¯ÁöµË´Ï´Ù. µðÆúÆ®´Â "~/.fonts.cache-version"ÀÌ°í versionÀº font configuration ÆÄÀÏ ¹öÁ¯ÀÔ´Ï´Ù.( ÇöÀç´Â 1).
6.4. include ignore_missing="no" ¶ºÎ°¡ÀûÀÎ ¼³Á¤ ÆÄÀÏÀ̳ª µð·ºÅ丮ÀÇ À̸§À» Æ÷ÇÔÇÕ´Ï´Ù. ¸¸¾à µð·ºÅ丮¶ó¸é ±× ¾È¿¡ ¼ýÀÚ·Î ½ÃÀÛÇÏ´Â À̸§À» °¡Áø ¸ðµç ÆÄÀÏÀº Á¤·ÄµÈ ¼ø¼·Î ó¸®µÉ °ÍÀÔ´Ï´Ù. FcConfigParse°¡ XML µ¥ÀÌÅÍŸÀÔÀ» ó¸®ÇÒ ¶§, ÆÄÀÏ(µé)ÀÇ contentsÀº ÆÄÀÏ À̸§(µé)À» FcConfigLoadAndParse¿¡ ³Ñ±èÀ¸·Î½á ¼³Á¤ÆÄÀÏ¿¡ ÅëÇյ˴ϴÙ. ¸¸¾à 'ignore_missing'ÀÌ ±âº» ¼³Á¤°ªÀÎ 'no' ´ë½Å¿¡ 'yes'·Î ¼³Á¤µÈ´Ù¸é Á¸ÀçÇÏÁö ¾Ê´Â ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ À־ ¶óÀ̺귯¸®°¡ °æ°í ¸Þ½ÃÁö¸¦ ³»º¸³»Áö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
6.5. config ¶ÀÌ ¿ä¼Ò´Â º´ÇÕÇÒ ºÎ°¡ÀûÀÎ ¼³Á¤ Á¤º¸ÀÇ À§Ä¡¸¦ Á¦°øÇÕ´Ï´Ù. configÀº blank³ª rescan ¿ä¼Ò¸¦ ¼ø¼¿¡ »ó°ü¾øÀÌ Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
6.6. blank ¶ÆùÆ®´Â Á¾Á¾ ÀÎÄÚµù¿¡´Â ÀÖÁö¸¸ ȸ鿡´Â °ø¹éÀ¸·Î ³ªÅ¸³ª´Â À߸øµÈ('broken') glyphs¸¦ Æ÷ÇÔÇÕ´Ï´Ù. blank ¿ä¼Ò¾È¿¡ °ø¹éÀ¸·Î ÃßÁ¤µÇ´Â °¢ Unicode ¹®ÀÚ¸¦ Á¤¼öÇüÀ¸·Î(an int element) ³ÖÀ¸½Ê½Ã¿À. ÀÌ ÁýÇÕ¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â, °ø¹éÀ¸·Î ±×·ÁÁö´Â ¹®ÀÚµéÀº ±× ÆùÆ®°¡ Áö¿øÇÏ´Â ¹®ÀÚ ÁýÇÕ¿¡¼ Á¦°ÅµË´Ï´Ù.
6.7. rescan ¶rescan ¿ä¼Ò´Â ÆùÆ® ¼³Á¤ÀÇ º¯°æÀ» ÀÚµ¿À¸·Î °Ë»çÇÒ ¶§ ±× °£°ÝÀ» ³ªÅ¸³»´Â Á¤¼öÇü ¿ä¼Ò¸¦ Æ÷ÇÔÇÕ´Ï´Ù. rescan¿¡¼ ÁöÁ¤ÇÑ ½Ã°£ °£°Ý¸¶´Ù FontconfigÀº ¼³Á¤ ÆÄÀÏ°ú µð·ºÅ丮¸¦ °Ë»çÇÏ¿© ³»ºÎ µ¥ÀÌÅÍ ±¸Á¶Ã¼¸¦ À籸¼ºÇÕ´Ï´Ù.
6.8. selectfont ¶ÀÌ ¿ä¼Ò´Â ÆùÆ®°¡ ¸ñ·ÏÀ¸·Î Á¦°øµÇ°Å³ª ¸ÅÄ¡µÉ ¶§, ÆùÆ®ÀÇ black/white ¸®½ºÆ®¸¦ ¸¸µå´Âµ¥ »ç¿ëµË´Ï´Ù. selectfont´Â Çã¿ëÆùÆ®¿Í °ÅºÎÆùÆ®¸¦ Ç¥½ÃÇÕ´Ï´Ù.
6.9. acceptfont ¶acceptfont¿ä¼Ò¿Í ÀÏÄ¡ÇÏ´Â ÆùÆ®´Â "whitelist"¿¡ ¼ÓÇÕ´Ï´Ù.; whitelist¿¡ ¼ÓÇÑ ÆùÆ®´Â ¸®½ºÆ®¸¦ ¸¸µé°Å³ª ÆùÆ®¸ÅĪÀÌ ÀÌ·ç¾îÁú ¶§, ¸íÈ®È÷ Æ÷ÇԵ˴ϴÙ. ÀÌ ¸ñ·Ï¿¡ ¼ÓÇÑ ÆùÆ®´Â rejectfont¿ä¼Ò¿¡ ¼ÓÇÏ´õ¶óµµ blacklist¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. Acceptfont ¿ä¼Ò´Â ÆùÆ®¸¦ ¸ÅÄ¡Çϴµ¥ »ç¿ëµÇ´Â glob¿Í pattern ¿ä¼Ò¸¦ Æ÷ÇÔÇÕ´Ï´Ù.
6.10. rejectfont ¶rejectfont ¿ä¼Ò¿Í ÀÏÄ¡ÇÏ´Â ÆùÆ®´Â "blacklist"¿¡ ¼ÓÇÕ´Ï´Ù. ÀÌ ÆùÆ®µéÀº ÆùÆ® ¸ÅĪÀ̳ª ÆùÆ® ¸ñ·ÏÀÌ ¸¸µé¾îÁú ¶§, ¸¶Ä¡ ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏÁö ¾Ê´Â °Íó·³ ¹èÁ¦µË´Ï´Ù. rejectfont ¿ä¼Ò´Â ÆùÆ®¸¦ ¸ÅÄ¡Çϴµ¥ »ç¿ëµÇ´Â glob¿Í pattern ¿ä¼Ò¸¦ Æ÷ÇÔÇÕ´Ï´Ù.
6.11. glob ¶glob ¿ä¼Ò´Â ¿ÏÀüÇÑ °æ·Î¸í¿¡ ±â¹ÝÇÏ¿© ÆùÆ®¸ÅĪÀ» ¼öÇàÇÏ´Â ½©Å¸ÀÔ ÆÐÅϸÅĪ(?, *µî)À» Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ °ÍÀº ƯÁ¤ µð·ºÅ丮 ÁýÇÕÀ̳ª (/usr/share/fonts/uglyfont*) ƯÁ¤ ÆÄÀÏ Çü½ÄÀÇ ÆùÆ®¸¦ ¹èÁ¦ÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÈÄÀÚÀÇ ¹æ½ÄÀº ½Å·ÚÇÒ ¼ö ¾ø´Â filenaming convention¿¡ ÀüÀûÀ¸·Î ÀÇÁ¸ÇÕ´Ï´Ù.
6.12. pattern ¶pattern ¿ä¼Ò´Â ÀԷµǴ ÆùÆ®¿¡ ´ëÇØ list-style ¸ÅĪÀ» ¼öÇàÇÕ´Ï´Ù. Áï pattern ¿ä¼Ò´Â ÆùÆ®ÀÇ ¼Ó¼ºµé°ú ±×¿¡ ¿¬°áµÈ °ªÀ» ¸ñ·ÏÇüÅ·Π°¡Áö°í ÀÖ¾î¼ ÇÑ ÆùÆ®ÀÇ ¸ðµç ¼Ó¼º¿¡ ¸ÅÄ¡µÇ´Â °ªÀ» °¡Áö°í ÀÖ´Â ÆÐÅÏÀº ±× ÆùÆ®¿¡ ¸ÅÄ¡µÈ´Ù°í ÆÇ´ÜÇÕ´Ï´Ù. ÀÌ°ÍÀº ÆùÆ®ÀÇ ¼Ó¼º(scalable, bold)¿¡ ±Ù°ÅÇÏ¿© ÆùÆ®¸¦ ¼±ÅÃÇϹǷΠÆÄÀÏ È®ÀåÀÚ¸¦ ÀÌ¿ëÇÑ ¸ÞÄ«´ÏÁòº¸´Ù ´õ ½Å·ÚÇÒ ¼ö ÀÖ½À´Ï´Ù. pattern ¿ä¼Ò´Â patelt ¿ä¼Ò¸¦ Æ÷ÇÔÇÕ´Ï´Ù.
6.13. patelt name="property" ¶patelt ¿ä¼Ò´Â ÇÑ °³ÀÇ pattern ¿ä¼Ò¿Í °ªµéÀÇ ¸ñ·ÏÀ» °¡Áö°í ÀÖ½À´Ï´Ù. patelt ¿ä¼Ò´Â pattern ¿ä¼ÒÀÇ À̸§À» °¡¸®Å°´Â 'name' ¼Ó¼ºÀ» ¹Ýµå½Ã °¡Á®¾ß ÇÕ´Ï´Ù. patelt ¿ä¼Ò´Â int, double, string, matrix, bool, charset ±×¸®°í const ¿ä¼Ò¸¦ Æ÷ÇÔÇÕ´Ï´Ù.
6.14. match target="pattern" ¶ÀÌ ¿ä¼Ò´Â ù°·Î test ¿ä¼Ò, ±× ´ÙÀ½ edit ¿ä¼Ò·Î ±¸¼ºµÈ ¸ñ·ÏÀ» °¡Áý´Ï´Ù.(µÑ Áß Çϳª´Â °ø¹éÀÏ
¼ö ÀÖ½À´Ï´Ù.) test ¿ä¼Ò ¸ðµÎ¸¦ ¸¸Á·½ÃÅ°´Â ÆÐÅÏÀº ¸ðµç edit ¿ä¼Ò°¡ Àû¿ëµË´Ï´Ù.. ¸¸¾à
'target'ÀÌ µðÆúÆ®ÀÎ 'pattern' ´ë½Å¿¡ 'font'·Î ÁöÁ¤µÈ´Ù¸é ¸ÅÄ¡µÉ ÆùÆ® ÆÐÅÏÀÌ ¾Æ´Ñ ¸ÅĪ °á°ú·Î
³ª¿Â ÆùÆ® À̸§¿¡ Àû¿ëµË´Ï´Ù. ¸¸¾à 'target'ÀÌ "scan"À¸·Î ÁöÁ¤µÈ´Ù¸é, ÀÌ ¿ä¼Ò´Â fontconfig
µ¥ÀÌÅͺ£À̽º¸¦ ±¸¼ºÇϱâ À§ÇØ ÆùÆ®°¡ °Ë»öµÉ ¶§ Àû¿ëµË´Ï´Ù.
6.15. test qual="any" name="property" target="default" compare="eq" ¶ÀÌ ¿ä¼Ò´Â target('pattern', 'font' or 'default')ÀÇ "property" (À§¿¡ Àִ Ư¼º Áß ¾î´À °Í°úµµ ´ëü°¡´ÉÇÔ)¿Í ºñ±³ÇÒ ´ÜÀÏ°ªÀ» Æ÷ÇÔÇÕ´Ï´Ù. 'compare'´Â "eq", "not_eq", "less", "less_eq", "more", ¶Ç´Â "more_eq"Áß Çϳª°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. 'qual'Àº Ư¼º°ú ¿¬°üµÈ ¾î¶² °ªÀÌ¶óµµ test targetÀÇ °ª°ú ¸ÅÄ¡µÇ´Â °æ¿ì ¼º°øÀ¸·Î ÆÇ´ÜÇÏ°íÀÚ ÇÒ ¶§ µðÆúÆ®ÀÎ "any"°¡ µÉ ¼öµµ ÀÖ°í, ¸¸¾à Ư¼º°ú ¿¬°üµÈ ¸ðµç °ªÀÌ test targetÀÇ °ª°ú ÀÏÄ¡ÇÏ¿©¾ß ¼º°øÀ¸·Î ÆÇ´ÜÇÏ°íÀÚ ÇÏ´Â °æ¿ì "all"ÀÌ µÉ ¼öµµ ÀÖ½À´Ï´Ù. <match target="font"> ³»¿¡¼ »ç¿ëµÉ ¶§, <test> ¿ä¼ÒÀÇ target= attributeÀº º»·¡ÀÇ ÆÐÅÏ°ú ÆùÆ® Áß Çϳª¸¦ ¼±ÅÃÇÕ´Ï´Ù. "default"´Â ¿ÜºÎÀÇ <match> ¿ä¼Ò°¡ ¼±ÅÃÇÑ targetÀ» ¼±ÅÃÇÕ´Ï´Ù.
6.16. edit name="property" mode="assign" binding="weak" ¶ÀÌ ¿ä¼Ò´Â (°ª ¶Ç´Â ¿¬»êÀÚ ¿ä¼Ò Áß ¾î¶°ÇÑ °ÍÀ̵çÁö) Ç¥Çö ¿ä¼ÒÀÇ ¸ñ·ÏÀ» Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ Ç¥Çö ¿ä¼Ò´Â ½ÇÇà Áß¿¡ Æò°¡µÇ¾î "property"¸¦ ¼öÁ¤ÇÕ´Ï´Ù. ¼öÁ¤ ¿©ºÎ´Â edit ¿ä¼ÒÀÇ "property"°¡ test ¿ä¼Ò Áß Çϳª ÀÌ»ó¿¡ ¸ÅÄ¡µÇ¾ú´ÂÁö¿¡ µû¶ó °áÁ¤µÇ¸ç ¸¸¾à ±×·¸´Ù¸é ù ¹ø°·Î ¸ÅÄ¡µÈ °ªÀ» ¼öÁ¤ ÇÒ °ÍÀÔ´Ï´Ù. property¿¡ »ðÀÔµÈ ¸ðµç °ªµéÀº ¸ÅÄ¡µÈ pattern ¿ä¼Ò¿¡¼ »ç¿ëµÈ ¹ÙÀεù °ªÀÎ "same"À» ºñ·ÔÇÑ ¹ÙÀεù "strong", "weak", "same" µîÀÌ ÁÖ¾îÁý´Ï´Ù. 'mode'´Â ´ÙÀ½ Áß ÇϳªÀÔ´Ï´Ù.
6.17. int, double, string, bool ¶ÀÌ ¿ä¼Ò´Â Áö½ÃµÈ ÇüÀÇ °ªÀ» ÇÑ °³ °¡Áý´Ï´Ù. bool ¿ä¼Ò´Â Âü ¶Ç´Â °ÅÁþ µÑ Áß ÇϳªÀÇ °ªÀ» °®½À´Ï´Ù. ºÎµ¿ ¼Ò¼öÁ¡À» »ç¿ëÇÒ ¶§ Áß¿äÇÑ Á¦¾àÀÌ ÀÖ½À´Ï´Ù. fontconfigÀº mantissa°¡ ¼Ò¼öÁ¡ÀÌ ¾Æ´Ñ ¼ýÀÚ·Î ½ÃÀÛÇÒ °ÍÀ» ¿ä±¸ÇÕ´Ï´Ù. µû¶ó¼ ¼ø¼öÇÑ fractional values ¾Õ¿¡ 0À» ³ÖÀ¸½Ê½Ã¿À.(¿¹¸¦ µé¾î, .5³ª -.5 ¸»°í 0.5 ³ª -0.5)
6.20. const ¶»ó¼ö °ªÀÇ À̸§À» °¡Áý´Ï´Ù. Ç×»ó Á¤¼öÀ̸ç ÀϹÝÀûÀÎ ÆùÆ® °ªÀÇ ½Éº¼¸¯ À̸§ÀÌ µË´Ï´Ù.
6.21. or, and, plus, minus, times, divide ¶ÀÌ ¿ä¼ÒµéÀº Ç¥Çö ¿ä¼ÒÀÇ ¸ñ·Ï¿¡ ´ëÇØ Æ¯º°ÇÑ ¿¬»êÀ» ÇÕ´Ï´Ù. or¿Í and´Â ºñÆ®º° ¿¬»êÀÌ ¾Æ´Ñ boolean¿¬»êÀÔ´Ï´Ù.
6.24. if ¶if ¿ä¼Ò´Â ¼¼ °³ÀÇ Ç¥Çö ¿ä¼Ò¸¦ ÃëÇÕ´Ï´Ù. ù ¹ø° Ç¥Çö ¿ä¼ÒÀÇ °ªÀÌ ÂüÀ̶ó¸é µÎ ¹ø° Ç¥Çö ¿ä¼ÒÀÇ °ªÀ», °ÅÁþÀ̶ó¸é ¼¼ ¹ø° Ç¥Çö ¿ä¼ÒÀÇ °ªÀ» »ý¼ºÇÕ´Ï´Ù.
6.25. alias ¶alias ¿ä¼Ò´Â ÇÑ ÆùÆ® family ¸¦ ´Ù¸¥ °ÍÀ¸·Î ´ëüÇÒ ¶§ ÇÊ¿äÇÑ, ÀϹÝÀûÀÎ ¸ÅÄ¡ ¼öÇà¿¡ »ç¿ëµÇ´Â ¼Ó±â Ç¥Çö¹ýÀ» Á¦°øÇÕ´Ï´Ù. alias¿ä¼Ò´Â family ¿ä¼Ò¿Í ±× µÚ¸¦ µû¸£´Â ºÎ°¡ÀûÀÎ ¿ä¼Òµé - prefer, accept, default - ·Î ±¸¼ºµË´Ï´Ù. alias³»ÀÇ family ¿ä¼Ò¿¡ ¸ÅÄ¡µÇ´Â ÆùÆ®´Â ¸ÅÄ¡µÇ´Â family ¿ä¼Òº¸´Ù prefer family list°¡ ´õ ¿ì¼±Çϵµ·Ï ¼öÁ¤µË´Ï´Ù. ±× ´ÙÀ½¿¡ accept ¿ä¼ÒÀÇ family , ¸¶Áö¸·À¸·Î default ¿ä¼ÒÀÇ family¸¦ family ¸®½ºÆ® ¸¶Áö¸·¿¡ Ãß°¡ÇÕ´Ï´Ù.
(¿ªÁÖ. prefer family - matching family - accept family - default family ¼ø)
7. ¿¹Á¦ ¼³Á¤ ÆÄÀÏ ¶½Ã½ºÅÛ Àü¿ª ¼³Á¤ ÆÄÀÏ ¿¹Á¦ÀÔ´Ï´Ù.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- /etc/fonts/fonts.conf file to configure system font access --> <fontconfig> <!-- Find fonts in these directories --> <dir>/usr/share/fonts</dir> <dir>/usr/X11R6/lib/X11/fonts</dir> <!-- Accept deprecated 'mono' alias, replacing it with 'monospace' --> <match target="pattern"> <test qual="any" name="family"><string>mono</string></test> <edit name="family" mode="assign"><string>monospace</string></edit> </match> <!-- Names not including any well known alias are given 'sans' --> <match target="pattern"> <test qual="all" name="family" mode="not_eq">sans</test> <test qual="all" name="family" mode="not_eq">serif</test> <test qual="all" name="family" mode="not_eq">monospace</test> <edit name="family" mode="append_last"><string>sans</string></edit> </match> <!-- Load per-user customization file, but don't complain if it doesn't exist --> <include ignore_missing="yes">~/.fonts.conf</include> <!-- Load local customization files, but don't complain if there aren't any --> <include ignore_missing="yes">conf.d</include> <include ignore_missing="yes">local.conf</include> <!-- Alias well known font names to available TrueType fonts. These substitute TrueType faces for similar Type1 faces to improve screen appearance. --> <alias> <family>Times</family> <prefer><family>Times New Roman</family></prefer> <default><family>serif</family></default> </alias> <alias> <family>Helvetica</family> <prefer><family>Arial</family></prefer> <default><family>sans</family></default> </alias> <alias> <family>Courier</family> <prefer><family>Courier New</family></prefer> <default><family>monospace</family></default> </alias> <!-- Provide required aliases for standard names Do these after the users configuration file so that any aliases there are used preferentially --> <alias> <family>serif</family> <prefer><family>Times New Roman</family></prefer> </alias> <alias> <family>sans</family> <prefer><family>Arial</family></prefer> </alias> <alias> <family>monospace</family> <prefer><family>Andale Mono</family></prefer> </alias> </fontconfig> 8. »ç¿ëÀÚ ¼³Á¤ ÆÄÀÏ ¶~/.fonts.conf ¿¡¼ ¼³Á¤ÇÏ´Â »ç¿ëÀÚº° ¼³Á¤ ¿¹Á¦ÀÔ´Ï´Ù.
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <!-- ~/.fonts.conf for per-user font configuration --> <fontconfig> <!-- Private font directory --> <dir>~/.fonts</dir> <!-- use rgb sub-pixel ordering to improve glyph appearance on LCD screens. Changes affecting rendering, but not matching should always use target="font". --> <match target="font"> <edit name="rgba" mode="assign"><const>rgb</const></edit> </match> </fontconfig> 9. ÆÄÀÏµé ¶* fonts.conf´Â ÆùÆ® Á¤º¸¸¦ ãÀ» µð·ºÅ丮¿Í »ç¿ë°¡´ÉÇÑ ÆùÆ®¿¡ ´ëÇÏ¿© ¸ÅĪÀ» ¼öÇàÇϱâ Àü¿¡ ÇÁ·Î±×·¥ÀÌ Á¤ÇÑ ÆùÆ® ÆÐÅÏÀ» ¼öÁ¤ÇÏ´Â ¸í·É¿¡ ´ëÇÑ ¼³Á¤ Á¤º¸·Î ±¸¼ºµË´Ï´Ù. XML Æ÷¸ËÀÔ´Ï´Ù.
* conf.d´Â ÀϹÝÀûÀ¸·Î ¿ÜºÎ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ÀÇÇØ °ü¸®µÇ´Â ºÎ°¡ÀûÀÎ ¼³Á¤ÆÄÀϵéÀÌ Á¸ÀçÇÏ´Â µð·ºÅ丮ÀÔ´Ï´Ù. ½ÊÁø¼ö·Î ½ÃÀÛÇÏ´Â ÆÄÀÏÀ̸§Àº lexicographic ¼ø¼·Î Á¤·ÄµÇ°í ºÎ°¡ÀûÀÎ ¼³Á¤ ÆÄÀÏ·Î »ç¿ëµË´Ï´Ù. ¸ðµç ÆÄÀÏÀº xml Æ÷¸ËÀÔ´Ï´Ù. º»·¡ÀÇ fonts.conf ÆÄÀÏÀº <include>Áö½ÃÀÚ·Î conf.d µð·ºÅ丮¸¦ ÂüÁ¶ÇÕ´Ï´Ù.
* fonts.dtd´Â ¼³Á¤ÆÄÀÏÀÇ Æ÷¸ËÀ» Ç¥ÇöÇÏ´Â DTDÀÔ´Ï´Ù.
* ~/.fonts.conf ÀϹÝÀûÀÎ »ç¿ëÀÚº° ¼³Á¤ÆÄÀÏÀÔ´Ï´Ù. ½ÇÁ¦·Î ÆÄÀÏ À§Ä¡´Â Àü¿ª fonts.conf ÆÄÀÏ¿¡¼ ÁöÁ¤µË´Ï´Ù.
* ~/.fonts.cache-* Àº µð·ºÅ丮º° ij½¬¿¡´Â ¹ß°ßµÇÁö ¾Ê´Â ÆùÆ® Á¤º¸ÀÇ ÀϹÝÀûÀÎ ÀúÀå¼ÒÀÔ´Ï´Ù. ÀÌ ÆÄÀÏÀº fontconfig¿¡ ÀÇÇØ ÀÚµ¿À¸·Î °ü¸®µË´Ï´Ù.
|
There is no fear in love; but perfect love casteth out fear. |