Xlib ¿Í ÇÔ²² ÇÏ´Â X ÇÁ·Î±×·¡¹ÖÀÌ Àç¹ÌÀÖÀ¸½Å°¡¿ä? Xlib Àº ¾ÆÁÖ Àú¼ö¼øÀÇ ÇÔ¼ö ¸ðÀ½ÀÔ´Ï´Ù. µû¶ó¼ ÀÌ°Í ÀÚü¸¸À¸·Î´Â ÇÁ·Î±×·¥À» Â¥³»±â°¡ »ó´çÈ÷ Èûµì´Ï´Ù. ½ÇÁ¦ ¾îÇà °³¹ß¿¡ À־ ¹Ù·Î À§ »óÀ§ ¼öÁØÀÎ Toolkit ¼öÁØ¿¡¼ ÀÌ·ç¾îÁöÁö¿ä. ¶Ç´Â ¸¹Àº »ç¶÷µéÀÌ »ç¿ëÇÏ°í ÀÖ´Â ½ÇÁúÀûÀΠǥÁØ ¸ðƼÇÁ(Motif)°¡ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ Á¦°¡ °Á¶ÇÏ°í ½ÍÀº °ÍÀº Toolkit°ú ¸ðƼÇÁ¸¸À¸·Î´Â ¾î¶² ÁÁÀº ÇÁ·Î±×·¥µµ ¸¸µé ¼ö°¡ ¾ø½À´Ï´Ù. Xlib °¡ Àú¼öÁØÀÌÁö¸¸ ±×°ÍÀº ´Ù½Ã ¸»ÇÏ¸é °·ÂÇÏ´Ù´Â ¸»µµ µË´Ï´Ù. ÀÌ µÑÀÌ °áÇÕÇؾ߸¸ ¼º´ÉÁÁÀº ÇÁ·Î±×·¥ÀÌ ³ª¿Â´Ù°í È®½ÅÇÕ´Ï´Ù.
¾ÆÁ÷µµ ÇؾßÇÒ ¾ê±âµéÀÌ ¸¹Áö¸¸, ¾ÕÀ¸·Î ³²Àº °Íµé¿¡ ´ëÇؼ °£·«ÇÏ°Ô ¸»¾¸µå¸®°í ¿À´ÃÀÇ °ÀǸ¦ ½ÃÀÛÇغ¼±î ÇÕ´Ï´Ù. ¿À´ÃÀÇ ÆùÆ® Ãâ·Â °ÀÇ¿¡ ÀÌ¾î °¡Àå Áß¿äÇÏ´Ù°í »ý°¢µÇ´Â À̺¥Æ® 󸮹®Á¦ ( ¸¶¿ì½º À̺¥Æ®, Å°º¸µå À̺¥Æ® )°¡ ³²¾Æ ÀÖ½À´Ï´Ù. X À©µµÀÇ Ä÷¯ ½Ã½ºÅÛ¿¡ ´ëÇؼ´Â Xt ( X Toolkit ) ÇÁ·Î±×·¡¹Ö¿¡ µé¾î°¡¼ ¼³¸íµå¸®°Ú½À´Ï´Ù. ³Ê¹« ¿À·§µ¿¾È Xlib ÇÁ·Î±×·¡¹Ö¿¡ ¸Ó¹«¸£¸é Èï¹Ì¸¦ Àұ⠽±±â ¶§¹®ÀÔ´Ï´Ù.
¾î¶°ÇÑ ÅؽºÆ®(Text)¸¦ Ãâ·ÂÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ 3 °¡Áö °úÁ¤À» °ÅÃÄ¾ß ÇÕ´Ï´Ù.
°£·«ÇÑ ÇÔ¼öÀÇ »ç¿ë µµÇ¥¸¦ ±×·Áº¸¸é,
[1] XLoadFont() --> [2] XSetFont() --> [3] XDrawString[16]()
º»ÀÎÀº X À©µµ¿ì °ü¸®ÀÚ fvwm °ÀǸ¦ ÇÏ¸é¼ ÆùÆ®¼³Á¤ ºÎºÐ¿¡¼ ¾ÆÁÖ °£·«ÇÏ°Ô X À©µµ¿ìÀÇ ÆùƮü°è, XLFD¶ó´Â ¸í¸í±ÔÄ¢¿¡ ´ëÇؼ ³íÇß´Ù. fvwm °ÀÇ¿¡¼´Â öÀúÇÏ°Ô À¯Àú(user) ÀÔÀå¿¡¼ ½±°Ô ±â¼úÇÏ·Á°í ÇßÀ¸³ª, ÀÌÁ¦ ÇÁ·Î±×·¡¸Ó°¡ µÇ·Á°í ÇϽô ¿©·¯ºÐ¿¡°Ô´Â ´õ¿í ´õ Àü¹®ÀûÀÎ Áö½ÄÀÌ ÇÊ¿äÇϸ®¶ó º¾´Ï´Ù.
Åë»ó X À©µµ¿ìÀÇ ÆùÆ®´Â /usr/lib/X11/fonts ¿¡ ÀúÀåµÇ¾î ÀÖ½À´Ï´Ù. ±× ÇϺΠµð·ºÅ丮¸¦ º¸½Ã¸é 100dpi, 75dpi, Speedo, Type1, misc µîÀÇ µð·ºÅ丮¸¦ ãÀ¸½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. ±× µð·ºÅ丮¿¡ µé¾î°¡º¸½Ã¸é ÈÀϸíÀÌ .pcf.Z ·Î ³¡³ª´Â ¾öû³ª°Ô ¸¹Àº ÈÀϵéÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù. Z ´Â compress·Î ¾ÐÃàµÇ¾úÀ½À» ³ªÅ¸³» ÁÖ´Â °ÍÀ¸·Î¼ X À©µµ¿ì ½Ã½ºÅÛÀº ÆùÆ®¿¡ ´ëÇÑ ¾ÐÃàÀ» Áö¿øÇÕ´Ï´Ù. ¿©·¯ºÐµµ ¾Æ½Ã°ÚÁö¸¸, ÆùÆ®°¡ Â÷ÁöÇÏ´Â µð½ºÅ© ¿ë·®Àº ¾î¸Ó¾î¸¶ ÇÕ´Ï´Ù. ƯÈ÷ M$ À©µµ¿ì °è¿¿¡¼ ¾²ÀÌ´ø ¿Ï¼ºÇü ÀúÀå ¹æ½ÄÀÇ ÆùÆ®µéÀº ÈÀÏ Çϳª°¡ 1¸Þ°¡¸¦ ³Ñ¾î°¡´Â °ÍÀÌ Çã´ÙÇßÁö¿ä. ±ú²ýÇÑ ¹®¼¿¡ ´ëÇÑ ¿å½ÉÀº ´Ù¾çÇÑ ÆùÆ®¿¡ ´ëÇÑ ¿ä±¸·Î À̾îÁ³±¸¿ä. ¾ÐÃà ÆùÆ®¿¡ ´ëÇÑ Áö¿øÀº Á¤¸»·Î ÇÊ¿äÇÑ °ÍÀÓÀ» ÀÌÇØÇÏ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. ±× ´ÙÀ½ fonts.dir, fonts.alias¿Í °°Àº Áß¿äÇÑ ÈÀÏÀ» ¸¸³ª½Ç ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ÈÀÏÀº ÇöÀç µð·ºÅ丮¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â ÆùÆ® ÈÀÏ¿¡ ´ëÇÑ XLFD Á¤º¸°¡ µé¾î ÀÖ½À´Ï´Ù. »õ·Î¿î ÆùÆ®¸¦ ¼³Ä¡ÇÏ°í ³ª¼´Â mkfontdir ¸í·ÉÀ» ½á¼ fonts.dir ÈÀÏÀ» °»½ÅÇÕ´Ï´Ù.
XLFD ½ÄÀÇ ¸í¸í¹æ½ÄÀ¸·Î ÆùÆ® À̸§À» ½áÁشٴ °ÍÀº »ó´çÇÑ °í¿ªÀÌ ¾Æ´Ò ¼ö ¾ø½À´Ï´Ù. ±×·¡¼ alias º°¸íÀ» »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î¼ ¿ì¸®°¡ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ°í ÀÖ´Â fixed ¶ó´Â À̸§ÀÇ ÆùÆ®´Â °¢°¢ÀÇ ½Ã½ºÅÛ¸¶´Ù ½ÇÁ¦·Î´Â ´Ù¸¥ ÆùÆ®¸¦ ÁöĪÇÏ°í ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ alias´Â ÆùÆ®À̸§À» ¿Ü¿ì±â ÁÁ°Ô »ç¿ëÀÚ°¡ Á¤ÀÇÇؼ ¾µ ¼ö ÀÖµµ·Ï ÇØÁشٴ ¸éµµ °¡Áö°í ÀÖ°í, ƯÁ¤ ÆùÆ®À̸§ÀÌ ¸ðµç ½Ã½ºÅÛ¿¡ Ç×»ó ÀÖ´Â °Íó·³ ÇÒ ¼öµµ Àִٴµ¥ ±× ÀÇÀÇ°¡ ÀÖ½À´Ï´Ù. ¹Ù·Î À§¿¡¼ ¿¹¸¦ µç fixed¶ó´Â À̸§ÀÇ ÆùÆ®ÀÌ ÁÁÀº ¿¹ÀÔ´Ï´Ù. Âü°í·Î fixed ¶ó´Â ÆùÆ® alias °¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é ´ëºÎºÐÀÇ °æ¿ì X ÀÚü°¡ ¶ß´Ù°¡ ¸» °Ì´Ï´Ù. ÀÌ ÈÀÏÀº ÀÚµ¿À¸·Î »ý¼ºµÇ´Â °ÍÀÌ ¾Æ´Ï´Ï ²À ¹é¾÷À» ÇØµÎ°í ¼öÁ¤ÇϽñ⠹ٶø´Ï´Ù.
¿©·¯ºÐÀÌ Speedo³ª Type1 µð·ºÅ丮·Î °¡º¸½Ã¸é fonts.scaleÀ̶ó´Â ÈÀÏÀ» ãÀ¸½Ç ¼ö ÀÖ½À´Ï´Ù. ÆùÆ® ÈÀϸí°ú ±×¿¡ ´ëÇÑ XLFD ¹æ½ÄÀÇ Ç¥±â°¡ ¾º¿©Á® ÀÖ½À´Ï´Ù. ÀÌ µÎ °¡Áö Ư¼öÇÑ ÆùÆ®¿¡ ´ëÇؼ´Â Á¶±Ý ÀÖ´Ù°¡ ¼³¸íµå¸®±â·Î ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì fonts.dir ÈÀÏ°ú ³»¿ëÀÌ °°À» °Ì´Ï´Ù.
X À©µµ¿ì ½Ã½ºÅÛ¿¡¼´Â ÆùÆ®°¡ °®°í ÀÖ´Â ¼ºÁúÀ» Áö½ÃÇϱâ À§ÇÏ¿© 14°³ÀÇ Çʵå·Î ÀÌ·ç¾îÁø ±â¼ú¹æ½ÄÀ» ¾¹´Ï´Ù. ¹Ù·Î ÀÌ°ÍÀ» XLFD¶ó°í ÇÏÁö¿ä. ´ÙÀ½°ú °°ÀÌ ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù.
-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
14°³ÀÇ Çʵå´Â ¸ðµÎ - ¹®ÀÚ·Î ºÐ¸®µÇ¾î ÀÖ½À´Ï´Ù. °¢°¢ÀÇ Àǹ̿¡ ´ëÇؼ ¾Ë¾Æº¸µµ ·Ï ÇÒ±î¿ä?
º¸Åë ¸Ç ¾Õ¿¡ ¿À´Â ÀÌ Çʵå´Â * ¹®ÀÚ¸¦ ½á¼ ¾î¶² °÷¿¡¼ ¸¸µé¾ú´ÂÁö »ó°üÇÏÁö ¾Ê´Â °æ¿ì°¡ ¸¹½À´Ï´Ù. º¸Åë Adobe ȸ»ç°¡ ¸¸µç ÆùÆ®ÀÇ °æ¿ì¿¡´Â adobe¶ó´Â ¹®ÀÚ°¡ µé¾î°¡ ÀÖÁö¿ä. ÀÌ ¹Û¿¡µµ bitstream, b&h, schumacher, sun, kaist, hanyang, misc µîÀÇ ¹®ÀÚ¿ÀÌ µé¾î°¡ ÀÖ´Â °ÍÀ» Á¾Á¾ º¸½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù.
ÀÌ ³à¼®ÀÌ ±× ÆùÆ®ÀÇ ÀüüÀûÀÎ ¸ð¾çÀ» °áÁ¤ÇÕ´Ï´Ù. ¿ì¸®°¡ ¸¹ÀÌ µé¾îº» Helvetica, Times Roman, Courier µîµîÀÌ ±×°ÍÀÔ´Ï´Ù. ¿ì¸® ÆùÆ®ÀÎ °æ¿ì¿¡´Â myeongjo, gothic µîÀÌ ¹Ù·Î ±×°ÍÀÌÁÒ.
medium, bold, demibold µîÀÇ °ªÀ» °¡Áý´Ï´Ù. ¾î¶² ÀǹÌÀÎÁö ¾Æ½Ç °Ì´Ï´Ù.
È°ÀÚÀÇ °æ»ç¿¡ ´ëÇÑ Áö½ÃÀÚÀÔ´Ï´Ù. r Àº ¿ì¸®°¡ ¾Ë°í ÀÖ´Â Á¤»óÀûÀÎ ·Î¸¸Ã¼, i´Â ÀÌÅŸ¯Ã¼¸¦ ¸»Çϸç, o ´Â ¹«¾ùÀϱî¿ä? Oblique ¶ó°í Çؼ À̰͵µ °æ»ç¹®ÀÚüÀε¥, ¹¹¶ó°í ¼³¸íµå·Á¾ß ÇÒÁö... ÀÌ°Í ¸»°íµµ ri, ro µîÀÇ °ªÀÌ Àִµ¥ °¢°¢ reverse italic, reverse oblique ÀÇ Àǹ̸¦ °®½À´Ï´Ù.
º¸ÅëÀÇ °æ¿ì ¸ðµÎ normal·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ¿Ü¿¡ condensed, narrow µîÀÇ °ªÀ» °¡Áý´Ï´Ù.
¼¼¸®ÇÁ(Serif)¿Í »ê¼¼¸®ÇÁ(Sans Serif)ÀÇ Â÷ÀÌ °°ÀÌ ºÎ°¡Àû ½ºÅ¸ÀÏÀÇ Â÷À̸¦ ³ªÅ¸³» ÁÖ´Â ÇʵåÀÔ´Ï´Ù. ¼¼¸®ÇÁ´Â º¸Åë ¿ì¸®°¡ º¸´Â ·Î¸¶ÀÚ È°Àڷμ I, M °ú °°Àº ±ÛÀÚ À§ ¾Æ·¡¿¡ ÀÖ´Â °¡´Ã°í ªÀº ¼±À» ¸»ÇÕ´Ï´Ù. ¹ºÁö °¨ÀÌ ¿À½Ê´Ï±î? I ÀÚ À§ ¾Æ·¡¿¡ ÀÖ´Â ¿·À¸·Î °¡´Â ¼± º¸À̽ÃÁÒ? ¿©·¯ºÐÀÌ ÇÑÅÒÀ» ¾²½Ã°í ¶ÇÇÑ ±âº» ÆùÆ® (-kaist-*-johab-* ...)¸¦ ¾²½Å´Ù¸é Áö±Ý ´çÀå È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ¼¼¸®ÇÁ ¹®ÀÚ¶õ ¹Ù·Î ±×·¯ÇÑ Àå½ÄÀ» °®´Â ¹®ÀÚ¸¦ ¸»ÇÕ´Ï´Ù. »ê¼¼¸®ÇÁ´Â ±×·¯ÇÑ Àå½ÄÀÌ ¾ø´Â ¹®ÀÚ¸¦ ¸»ÇÕ´Ï´Ù. Sans ¶ó°í ÇÏ´Â °ÍÀÌ ¿µ¾î °í¾î·Î Without À̶ó´Â ÀǹÌÀ̱⠶§¹®ÀÔ´Ï´Ù. Sans Serif ¶Ç´Â Sanserif ¶ó°í ÇÕ´Ï´Ù. º¸Åë nil ÀÇ °ª, ¾Æ¹« °ªµµ ¾ø´Â °æ¿ì°¡ Çã´ÙÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ÆùÆ®¸íÀ» »ìÆ캸½Ã¸é Ç×»ó 6¹ø° Çʵ尡 ¾Æ¹« °ªµµ ¾øÀÌ -- ÀÌ·± ½ÄÀ¸·Î 󸮵Ǿî ÀÖ´Â °ÍÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
¾ÆÁÖ ¸¹ÀÌ »ç¿ëÇÏ´Â Çʵå·Î¼ È°ÀÚÀÇ Å©±â¸¦ ³ªÅ¸³»´Â ÇʵåÀÔ´Ï´Ù. ¿ì¸®°¡ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â ¿µ¿ªÀº ¾Æ¸¶µµ 10   20 »çÀÌ°¡ ¾Æ´Ò±î »ý°¢ÇÕ´Ï´Ù. Scalable ÆùÆ®¿¡´Â ÇØ´ç»çÇ×ÀÌ ¾ø½À´Ï´Ù. ÀÚÀ¯·Ó°Ô ÁöÁ¤ÇØ Áֽʽÿä. ±× ÀÌ¿ÜÀÇ ºñÆ®¸Ê ÆùÆ®µéÀº ƯÁ¤ Å©±âÀÇ È°Àڵ鸸ÀÌ Á¸ÀçÇÕ´Ï´Ù.
´ÜµµÁ÷ÀÔÀûÀ¸·Î ¸ð¸¨´Ï´Ù! :)
°¢°¢ X, Y ¹æÇâÀÇ Çػ󵵸¦ ³ªÅ¸³À´Ï´Ù. ¿©·¯ºÐÀÌ 75 dpi, 100 dpi ÆùÆ®¸¦ ¼³Ä¡ ÇÏ¼Ì´Ù¸é ±× µð·ºÅ丮¿¡ °¡¼ È®ÀÎÇغ¸½Ê½Ã¿ä. 75, 100 µîÀÇ ¼ýÀÚ°¡ ¾º¿©Á® ÀÖ½À´Ï´Ù. Scalable¿¡¼´Â 0 ÀÔ´Ï´Ù.
¿µ¹®ÀÚ¿¡¼ È°ÀÚ I¿Í MÀ» »ý°¢ÇØ º¾½Ã´Ù. µÎ ¹®ÀÚÀÇ ÆøÀÌ ´Ù¸£ÁÒ? I Àڴ ȦÂßÇÑ ¹®ÀÚÀÌ°í M ÀÚ´Â ¶×¶×ÇÑ ¹®ÀÚÀε¥, ÄÄÇ»ÅÍ¿¡¼´Â µÎ È°ÀÚ¸¦ ¶È°°Àº »ç°¢ÇüÀÇ ¿µ¿ª¿¡ ³Ö¾î »ý°¢ÇÏ´Â °æ¿ì°¡ ´ëºÎºÐÀÔ´Ï´Ù. ±×³É Ãâ·ÂÇϱâ ÆíÇϴϱî¿ä. ±×·¯ÇÑ ÀϹÝÀûÀÎ °æ¿ì¸¦ m , Monospace ¶ó°í Çϸç, I¿Í M ÀÚ¿Í °°ÀÌ Æø¿¡ µû¶ó °£°ÝÀ» Á¶È·Ó°Ô Á¤·ÄÇØÁÖ´Â °ÍÀ» p , Proportional ºñ·Ê¹®ÀÚ¶ó°í ÇÕ´Ï´Ù. ÃâÆǹ° ±×¸®°í ¼öÁØ ³ôÀº ¿¡µðÅÍÀÇ °æ¿ì p È°ÀÚ¸¦ ¾²°ÚÁö¿ä? c ´Â m °ú µ¿ÀÏÇÑ ÀǹÌÀÔ´Ï´Ù. ¿ì¸®°¡ ¾²°íÀÚ ÇÏ´Â È°ÀÚ´Â ´ëºÎºÐ m ÀÔ´Ï´Ù. °è»êÀÌ °£ÆíÇϴϱî¿ä.
±ÛÀÚ ±×´ë·Î ÀÔ´Ï´Ù. Æò±ÕÀ̶ó°í ÇÑ ÀÌÀ¯´Â À§¿¡¼ ¸»¾¸µå¸®´Â °Í¿¡ ÀÇÇÏ¸é ½±°Ô ÀÌÇØÇÏ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. Çѱۿ¡´Â Àû¿ë»çÇ× ¾ø´Â °Í °°½À´Ï´Ù.
µî·Ï ÇʵåÀÔ´Ï´Ù. ¿©±â¿¡ µé¾î°¡´Â °ª ¸î °¡Áö¸¦ ¼Ò°³ÇÔÀ¸·Î½á ¼³¸íÀ» ´ë½Å ÇÏ°Ú½À´Ï´Ù. adobe, dec, iso646.1991, ¿ì¸®°¡ ¾ÆÁÖ ÀÚÁÖ º¸´Â iso8859, johab, johabs, ksc5601.1987 µîÀÌ ±×°ÍÀÔ´Ï´Ù. Áï ¹®ÀÚ ¼¼Æ®¸¦ ÀǹÌÇÏ´Â °Í °°ÁÒ? johab(s)Àº Á¶ÇÕÇü ¹æ½ÄÀÇ ÀÚ¼Ò ÆùÆ®À̸ç, ksc5601.1987Àº ¿Ï¼ºÇü ¹æ½ÄÀÇ ±ÛÀÚ ÆùÆ®ÀÔ´Ï´Ù. ÀϹÝÀûÀÎ ¿µ¹®ÀÚ´Â iso8859ÀÔ´Ï´Ù.
ÈÞ, ¸¶Áö¸· ÇʵåÀ̱º¿ä. 0, 1, 8, irv µîÀÇ °ªµéÀÌ µé¾î°¡ ÀÖ½À´Ï´Ù. Àß ¸ð¸£´Â ÇʵåÀÔ´Ï´Ù. 13¹ø° Çʵå¿Í ¿¬°üÇÏ¿© »ý°¢ÇϽøé ÁÁ½À´Ï´Ù. º¸Åë iso8859-1, ksc5601.1987-0, iso646.1991-irv °ú °°Àº ²ôÆ®¸Ó¸® ±ÛÀÚµéÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
Ãâ·Â ¿¹¸¦ »ìÆ캸±â·Î ÇսôÙ.
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
int main()
{
Display *dpy;
Window w;
Font f;
GC gc;
XSetWindowAttributes xswa;
xswa.override_redirect = True;
dpy = XOpenDisplay ( NULL);
w = XCreateSimpleWindow( dpy, RootWindow( dpy, 0 ), 50, 50,
400, 300, 5, BlackPixel( dpy, 0 ),
WhitePixel( dpy, 0 ) );
XChangeWindowAttributes ( dpy, w, CWOverrideRedirect, &xswa );
XMapWindow ( dpy, w );
/* ----------------- ¿©±â¼ºÎÅÍ°¡ º»°ÝÀûÀ¸·Î Áß¿äÇÑ ºÎºÐ ----- */
gc = XCreateGC( dpy, w, 0L, ( XGCValues * ) NULL ); /* [1] */
f = XLoadFont( dpy, "fixed" ); /* [2] */
XSetFont ( dpy, gc, f ); /* [3] */
/* ÆùÆ® µî·ÏÀÌ µÈ GC ¸¦ °¡Áö°í Àü°æ»öÀ¸·Î ¹®ÀÚ¿ Ãâ·Â */
XDrawString( dpy, w, gc, 100, 130,
"Hello, Linuxers! Never Seen :)", 16 ); /* [4] */
/* ----------------------------------------------------------- */
XFlush( dpy );
getchar();
/* µÞó¸® */
XUnloadFont( dpy, f );
XFreeGC( dpy, gc );
XDestroyWindow( dpy, w );
XCloseDisplay( dpy );
}
ÄÄÆÄÀÏ ¹æ¹ýÀº
gcc -o drawstring drawstring.c -L/usr/X11/lib -lX11
¼Ò½º ¿¹Á¦°¡ Á» ÁÁÁö ¾Ê´õ¶óµµ ÀÌÇØÇϽñ⠹ٶø´Ï´Ù. :) ÀÌ¹Ì Àü¿¡ ¼³¸íµå¸° ºÎºÐÀº »©°í º»°ÝÀûÀ¸·Î ´Ù¸¥ ºÎºÐ¸¸ ¼³¸íµå¸®°Ú½À´Ï´Ù.
ÀÚ, ÆùÆ®µµ °á±¹Àº Á¡À» Âï¾î¼ â¿¡´Ù ±×¸®´Â °ÍÀ̹ǷΠGC ¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù. ¿ì¼±Àº GC ¸¦ Çϳª ¸¸µé¾î¾ß°ÚÁÒ?
gc = XCreateGC( dpy, w, 0L, ( XGCValues* ) NULL );
±×¸®°í À§¿¡¼ °Á¶Çß´ø ÆùÆ® ÀûÀç¿Í »ç¿ëÀÇ Áß°£ °úÁ¤À» ¸Ó¸® ¼Ó¿¡ ¶°¿Ã¸®½Ê½Ã¿ä.
ÇÔ¼ö ¿øÇü :
Font XLoadFont( Display *dpy, char *font_name );
font_name ¹®ÀÚ¿Àº ¹Ù·Î À§¿¡¼ ±æ°Ô ¼³¸íµå·È´ø XLFD ½ÄÀÇ ¿ÏÀüÇÑ ÆùÆ®À̸§ ¶Ç´Â ÆùÆ® º°¸í(alias)¸¦ ÁöÁ¤ÇØÁÖ½Ã¸é µË´Ï´Ù. ¼º°øÇϸé Font Çü º¯¼ö¸¦ ¹ÝȯÇÕ´Ï´Ù. ½ÇÆÐÇÏ¸é ¹°·Ð NULL ÀÌ°ÚÁö¿ä?
À§¿¡¼´Â fixed ¶ó´Â º°¸íÀ» °¡Áø X À©µµ¿ìÀÇ °¡Àå ±âº»ÀûÀÎ ÆùÆ®¸¦ »ç¿ëÇÏ¿´½À´Ï´Ù. ±× ÆùÆ®°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é X À©µµ¿ì ÀÚü°¡ ¾Æ¸¶ ½ÃÀÛÇÏÁö ¾Ê¾ÒÀ»°ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ ¾Æ½Ã´Â ÆùÆ® À̸§ ¶Ç´Â Á÷Á¢ /usr/X11/lib/fonts µð·ºÅ丮¿¡ °¡¼Å¼ °¢ µð·ºÅ丮ÀÇ fonts.dir ¿¡ ³ª¿ÍÀÖ´Â °ÍµéÀ» ½ÃÇèÇغ¸½Ã±â ¹Ù¶ø´Ï´Ù.
ÇÑ ¹ø ¸ÚÁø ¾Æµµºñ»çÀÇ ÆùÆ®¸¦ »ç¿ëÇغ¼±î¿ä? ±×·³ fixed ¶ó°í ¾²½Å ºÎºÐÀ» ¹Ù²ã º¸½Ê½Ã¿ä.
-adobe-courier-medium-o-normal--25-180-100-100-m-150-iso8859-1
±×¸®°í ´Ù½Ã ÄÄÆÄÀÏ...
±×·±µ¥ ¸¸¾à¿¡ ¿©·¯ºÐ²²¼ ÁöÁ¤ÇØÁֽŠÆùÆ®¸¦ X ¼¹ö( Á¤È®È÷´Â ÆùÆ®¿¡ °üÇÏ¿©´Â X ÆùÆ® ¼¹ö xfs ÀÇ ´ã´ç )°¡ ãÁö ¸øÇÒ ¶§, ¶Ç´Â Áö¿øÇÏÁö ¾Ê´Â °æ¿ì ¿¡·¯°¡ ¹ß»ýÇϸç Font Çü ¹Ýȯ°ª¿¡ ¾î¶² °ªÀÌ ¿Ã Áö´Â Á¤È®È÷ ¸ð¸¨´Ï´Ù.
±×¸®°í stderr ¿¡ ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡ Ãâ·ÂµË´Ï´Ù.
X Error of failed request: BadName(named color or font does not exist)
Major opcode of failed request: 45 (X_OpenFont)
Serial number of failed request: 9
Current serial number in output stream: 15
ÆùÆ® ÀûÀç¿Í °üÇÑ ÇÑ ½ÇÁ¦ ÇÁ·Î±×·¡¹Ö¿¡¼ XLoadFont ÇÔ¼ö¸¦ ¾²Áö´Â ¾Ê´Â °Í °°½À´Ï´Ù. ´ë½Å XLoadQueryFont ¶ó°í ÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÇÏÁö¿ä. :) ÀÚ... ±×·±µ¥ ¿ä°Ç ¿©·¯ºÐ²² °úÁ¦·Î ³²°Ü¾ß ÇÏ°Ú±º¿ä. ¹Ù·Î ´ÙÀ½¿¡ ¼³¸íÀ» µå¸®°Ú½À´Ï´Ù. °úÁ¦´Â XLoadQueryFont, ÀÌ¿Í °ü·ÃÇÑ XFontStruct ÀÇ ±¸Á¶ Á¶»çÀÔ´Ï´Ù. ¸ÇÆäÀÌÁö¿¡ ³Ê¹«µµ Á¤È®È÷ ³ª¿Í ÀÖÀ¸´Ï±ñ °ÆÁ¤ÇÏÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù.
ÇÔ¼ö ¿øÇü :
XSetFont( Display *dpy, GC gc, Font font );
ÆùÆ® ID °ªÀ» GC Á¤º¸¿¡ ¼ö·ÏÇϵµ·Ï ¿äûÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á ¾ÕÀ¸·Î Ãâ·ÂµÇ´Â ÅؽºÆ®´Â GC ¿¡ ÁöÁ¤µÇ¾î ÀÖ´Â Àü°æ»öÀ¸·Î Ç¥½ÃµÇ°Ô µË´Ï´Ù.
±×·¯°í º¸´Ï GC ¶ó°í ÇÏ´Â °ÍÀº ±×·¡ÇÈ¿¡ °üÇÑ ¸ðµç Á¤º¸¸¦ Áö´Ï°í ÀÖ´Â ³à¼®À̶ó°í ÇÒ ¼ö°¡ Àֳ׿ä. ´Ù½Ã ÇÑ ¹ø ±â¾ïÇսôÙ! X À©µµ¿ì ±×·¡ÇÈ¿¡ ÀÖ¾î¼ Áß¿äÇÑ ¿ä GC ¸¦.... :)
ÇÔ¼ö ¿øÇü :
XDrawString(display, d, gc, x, y, string, length)
Display *display;
Drawable d;
GC gc;
int x, y;
char *string;
int length;
Drawable Àº Window Çü º¯¼ö³ª Pixmap Çü º¯¼öÀ» ¸»ÇÏÁÒ? ÀÚ, ⠾ȿ¡¼ÀÇ ÁÂÇ¥°ªÀ» ÁÖ½Ã°í ¹®ÀÚ¿ string À» ³Ñ°Ü ÁÝ´Ï´Ù. ±×¸®°í ¸¶Áö¸·À¸·Î ÀØÁö ¸¶¼Å¾ß ÇÒ°ÍÀº ¹®ÀÚ¿ÀÇ ±æÀÌ°¡ ¾ó¸¶ÀÎÁö¸¦ length ¿¡ ÀúÀåÇؼ ³Ö¾îÁÖ¼Å¾ß µÈ´Ù´Â »ç½ÇÀÔ´Ï´Ù.
¿©·¯ºÐ, À§ ¿¹Á¦ ÇÁ·Î±×·¥ ¼Ò½º¿Í ½ÇÇàÅ°½Å ȸ鿡 Ãâ·ÂµÈ °á°ú¿¡¼ ¹º°¡ ÀÌ»óÇÑ Á¡À» ¹ß°ßÇÏÁö ¾ÊÀ¸¼Ì½À´Ï±î? :>>
¿¹. ±×·¸½À´Ï´Ù. "Hello, Linuxers! Never Seen :)" ¶ó°í ¹®ÀÚ¿À» ÁÖ±ä ÇßÁö¸¸ µÞºÎºÐ Áï, 'Never Seen :)' À̶ó°í ÇÏ´Â ºÎºÐÀº ½ÇÁ¦ Ãâ·ÂÀÌ µÇÁú ¾Ê½À´Ï´Ù.
¼¼»ó¸¸»ç ½ÃÀÛµµ Áß¿äÇÏ°í °úÁ¤µµ Áß¿äÇÏÁö¸¸ À¯Á¾ÀÇ ¹Ì¸¦ °ÅµÎ´Â °Íµµ Áß¿äÇÏ´Ù°í »ý°¢ÇÕ´Ï´Ù. /* µÞó¸® */¶ó°í ÁÖ¼®À» ´Ü ºÎºÐ¿¡¼´Â XUnloadFont() À» »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù. ±× µÚÀÇ ¸ðµç °úÁ¤µµ ¸¶Âù°¡ÁöÀÌÁö¸¸ ÇÁ·Î±×·¥ Á¾·á ÈÄ ÀÚµ¿À¸·Î ÀÌ·ç¾îÁö´Â °úÁ¤À̱ä ÇÕ´Ï´Ù. ÇÏÁö¸¸, ¿©·¯ºÐ²²¼ ¹º°¡ »ó¿ë ÇÁ·Î±×·¥À̳ª ¹º°¡ ±×·²µíÇÑ ÇÁ·Î±×·¥À» ¸¸µå½Ã·Á°í ÇÏ½Å´Ù¸é ²À µÞ󸮸¦ ÀßÇØÁֽʽÿä.