¸®´ª½º ±âŸ ÀÚ·á

HomePage Backward Forward Post Reply List
Delete Modify
  Á¦¸ñ   X-Windows Programming #8 1998/07/04 (16:32)
À̸§ ±èÈ¿¿ø
¹øÈ£ 48
Á¶È¸ 332
º»¹®
¡º¸®´ª½º Çдç-¸®´ª½º °­Á / ¿¬Àç (go LINUX)¡» 253¹ø
Á¦  ¸ñ:[°­Á 08] X ÇÁ·Î±×·¡¹Ö ±âÃÊ : ÆùÆ®(1)                       
¿Ã¸°ÀÌ:geoman  (À̸¸¿ë  )    96/06/11 22:57    ÀÐÀ½:2110 °ü·ÃÀÚ·á ¾øÀ½
-----------------------------------------------------------------------------


=============================
ÆùÆ®¸¦ °¡Áö°í Ãâ·ÂÀ» Çغ¾½Ã´Ù
=============================

 ¾È³çÇϼ¼¿ä? Geoman À̸¸¿ëÀÔ´Ï´Ù. Xlib ¿Í ÇÔ²² ÇÏ´Â X ÇÁ·Î±×·¡¹ÖÀÌ Àç¹ÌÀÖÀ¸½Å
°¡¿ä? Xlib Àº ¾ÆÁÖ Àú¼ö¼øÀÇ ÇÔ¼ö ¸ðÀ½ÀÔ´Ï´Ù. µû¶ó¼­ ÀÌ°Í ÀÚü¸¸À¸·Î´Â ÇÁ·Î±×·¥
À» Â¥³»±â°¡ »ó´çÈ÷ Èûµì´Ï´Ù. ½ÇÁ¦ ¾îÇà °³¹ß¿¡ À־´Â ¹Ù·Î À§ »óÀ§ ¼öÁØÀÎ
Toolkit ¼öÁØ¿¡¼­ ÀÌ·ç¾îÁöÁö¿ä. ¶Ç´Â ¸¹Àº »ç¶÷µéÀÌ »ç¿ëÇÏ°í ÀÖ´Â ½ÇÁúÀûÀΠǥÁØ
¸ðƼÇÁ(Motif)°¡ ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ Á¦°¡ °­Á¶ÇÏ°í ½ÍÀº °ÍÀº Toolkit°ú ¸ðƼÇÁ¸¸À¸
·Î´Â ¾î¶² ÁÁÀº ÇÁ·Î±×·¥µµ ¸¸µé ¼ö°¡ ¾ø½À´Ï´Ù. Xlib °¡ Àú¼öÁØÀÌÁö¸¸ ±×°ÍÀº ´Ù½Ã
¸»ÇÏ¸é °­·ÂÇÏ´Ù´Â ¸»µµ µË´Ï´Ù. ÀÌ µÑÀÌ °áÇÕÇؾ߸¸ ¼º´ÉÁÁÀº ÇÁ·Î±×·¥ÀÌ ³ª¿Â´Ù
°í È®½ÅÇÕ´Ï´Ù.

 ¾ÆÁ÷µµ ÇؾßÇÒ ¾ê±âµéÀÌ ¸¹Áö¸¸, ¾ÕÀ¸·Î ³²Àº °Íµé¿¡ ´ëÇؼ­ °£·«ÇÏ°Ô ¸»¾¸µå¸®°í
¿À´ÃÀÇ °­ÀǸ¦ ½ÃÀÛÇغ¼±î ÇÕ´Ï´Ù. ¿À´ÃÀÇ ÆùÆ® Ãâ·Â °­ÀÇ¿¡ ÀÌ¾î °¡Àå Áß¿äÇÏ´Ù°í
»ý°¢µÇ´Â À̺¥Æ® 󸮹®Á¦ ( ¸¶¿ì½º À̺¥Æ®, Å°º¸µå À̺¥Æ® )°¡ ³²¾Æ ÀÖ½À´Ï´Ù.
X À©µµÀÇ Ä÷¯ ½Ã½ºÅÛ¿¡ ´ëÇؼ­´Â Xt ( X Toolkit ) ÇÁ·Î±×·¡¹Ö¿¡ µé¾î°¡¼­ ¼³¸íµå
¸®°Ú½À´Ï´Ù. ³Ê¹« ¿À·§µ¿¾È Xlib ÇÁ·Î±×·¡¹Ö¿¡ ¸Ó¹«¸£¸é Èï¹Ì¸¦ Àұ⠽±±â ¶§¹®ÀÔ
´Ï´Ù.

==============================================================================
9) ÆùÆ® Ãâ·Â¿¡ ´ëÇÏ¿© ...
==============================================================================

 ¾î¶°ÇÑ ÅؽºÆ®(Text)¸¦ Ãâ·ÂÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ 3 °¡Áö °úÁ¤À» °ÅÃÄ¾ß ÇÕ
´Ï´Ù.

[1] ¿ì¼± ¿øÇÏ´Â ÆùÆ®¸¦ °ñ¶ó¼­ ¼­¹ö´õ·¯ ±× ÆùÆ®¸¦ ÀûÀçÇ϶ó°í ¿äûÇÑ´Ù.
    ±×·¯¸é ¼­¹ö´Â ¿ª½Ã ÆùÆ®¿¡ ´ëÇÑ ID¸¸À» µ¹·ÁÁØ´Ù. ¸¸¾à ¿äûÇÑ ÆùÆ®°¡ ¾ø´Ù
    ¸é ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.

[2] ÆùÆ®µµ °á±¹¿£ "±×¸®´Â °Í"ÀÌ´Ù. µû¶ó¼­ ±×·¡ÇÈ ÄÁÅؽºÆ® GC°¡ ÀÌ¹Ì ÀÖ¾î¾ß
    ÇÑ´Ù. ÀÏ´Ü ¸¸µé¾î ³õÀº GC¿¡´Ù°¡ ÆùÆ® ID¸¦ ÁöÁ¤ÇØÁØ´Ù.

[3] ÀÌÁ¦´Â ÀûÀýÇÑ ÇÔ¼ö¸¦ ÅëÇؼ­ Ãâ·ÂÇÑ´Ù. ÀÌ ¶§ ¿ì¸®´Â [2]¹ø °úÁ¤¿¡¼­ À̹Ì
    ÆùÆ® ID Á¤º¸¸¦ Áö´Ï°í ÀÖ´Â GC ¸¸À» »ç¿ëÇÏ¸é µÈ´Ù. 1¹ÙÀÌÆ®°è ¶óƾ°è ¹®ÀÚ´Â
    XDrawString ÇÔ¼ö¸¦, ¿ì¸®³ª¶ó¿Í °°Àº 2¹ÙÀÌÆ®°è ¹®ÀÚ´Â XDrawString16 ÇÔ¼ö¸¦
    »ç¿ëÇÏ¿© Ãâ·ÂÇÑ´Ù.

 °£·«ÇÑ ÇÔ¼öÀÇ »ç¿ë µµÇ¥¸¦ ±×·Áº¸¸é,

[1] XLoadFont() -->  [2] XSetFont()  -->  [3] XDrawString[16]()


==============================================================================
9-1) X À©µµ¿ìÀÇ ÆùÆ® ½Ã½ºÅÛÀ» ¾Ë¾Æº¾½Ã´Ù
==============================================================================

 º»ÀÎÀº 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¿Í °°Àº Áß¿äÇÑ È­ÀÏÀ» ¸¸³ª½Ç ¼ö ÀÖ½À´Ï´Ù.

(1) fonts.dir

 ÀÌ È­ÀÏÀº ÇöÀç µð·ºÅ丮¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â ÆùÆ® È­ÀÏ¿¡ ´ëÇÑ XLFD Á¤º¸°¡ µé¾îÀÖ
½À´Ï´Ù. »õ·Î¿î ÆùÆ®¸¦ ¼³Ä¡ÇÏ°í ³ª¼­´Â mkfontdir ¸í·ÉÀ» ½á¼­ fonts.dir È­ÀÏÀ»
°»½ÅÇÕ´Ï´Ù.

(2) fonts.alias

 XLFD ½ÄÀÇ ¸í¸í¹æ½ÄÀ¸·Î ÆùÆ® À̸§À» ½áÁشٴ °ÍÀº »ó´çÇÑ °í¿ªÀÌ ¾Æ´Ò ¼ö ¾ø½À
´Ï´Ù. ±×·¡¼­ alias º°¸íÀ» »ç¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î¼­ ¿ì¸®°¡ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ°í
ÀÖ´Â fixed ¶ó´Â À̸§ÀÇ ÆùÆ®´Â °¢°¢ÀÇ ½Ã½ºÅÛ¸¶´Ù ½ÇÁ¦·Î´Â ´Ù¸¥ ÆùÆ®¸¦ ÁöĪÇÏ°í
ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ alias´Â ÆùÆ®À̸§À» ¿Ü¿ì±â ÁÁ°Ô »ç¿ëÀÚ°¡ Á¤ÀÇÇؼ­
¾µ ¼ö ÀÖµµ·Ï ÇØÁشٴ ¸éµµ °¡Áö°í ÀÖ°í, ƯÁ¤ ÆùÆ®À̸§ÀÌ ¸ðµç ½Ã½ºÅÛ¿¡ Ç×»ó
ÀÖ´Â °Íó·³ ÇÒ ¼öµµ Àִٴµ¥ ±× ÀÇÀÇ°¡ ÀÖ½À´Ï´Ù. ¹Ù·Î À§¿¡¼­ ¿¹¸¦ µç fixed¶ó
´Â À̸§ÀÇ ÆùÆ®ÀÌ ÁÁÀº ¿¹ÀÔ´Ï´Ù. Âü°í·Î fixed ¶ó´Â ÆùÆ® alias °¡ ÁöÁ¤µÇ¾î ÀÖÁö
¾ÊÀ¸¸é ´ëºÎºÐÀÇ °æ¿ì X ÀÚü°¡ ¶ß´Ù°¡ ¸» °Ì´Ï´Ù.
 ÀÌ È­ÀÏÀº ÀÚµ¿À¸·Î »ý¼ºµÇ´Â °ÍÀÌ ¾Æ´Ï´Ï ²À ¹é¾÷À» ÇØµÎ°í ¼öÁ¤ÇϽñ⠹ٶø´Ï´Ù.

(3) fonts.scale

 ¿©·¯ºÐÀÌ Speedo³ª Type1 µð·ºÅ丮·Î °¡º¸½Ã¸é fonts.scaleÀ̶ó´Â È­ÀÏÀ» ãÀ¸½Ç
¼ö ÀÖ½À´Ï´Ù. ÆùÆ® È­Àϸí°ú ±×¿¡ ´ëÇÑ XLFD ¹æ½ÄÀÇ Ç¥±â°¡ ¾º¿©Á® ÀÖ½À´Ï´Ù.
ÀÌ µÎ °¡Áö Ư¼öÇÑ ÆùÆ®¿¡ ´ëÇؼ­´Â Á¶±Ý ÀÖ´Ù°¡ ¼³¸íµå¸®±â·Î ÇÕ´Ï´Ù.
´ëºÎºÐÀÇ °æ¿ì fonts.dir È­ÀÏ°ú ³»¿ëÀÌ °°À» °Ì´Ï´Ù.


==============================================================================
9-2) X Logical Font Descriptio : XLFD ¿¡ ´ëÇÏ¿©
==============================================================================

 X À©µµ¿ì ½Ã½ºÅÛ¿¡¼­´Â ÆùÆ®°¡ °®°í ÀÖ´Â ¼ºÁúÀ» Áö½ÃÇϱâ À§ÇÏ¿© 14°³ÀÇ Çʵå·Î
ÀÌ·ç¾îÁø ±â¼ú¹æ½ÄÀ» ¾¹´Ï´Ù. ¹Ù·Î ÀÌ°ÍÀ» XLFD¶ó°í ÇÏÁö¿ä. ´ÙÀ½°ú °°ÀÌ ÀÌ·ç¾îÁ®
ÀÖ½À´Ï´Ù.

 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1

14°³ÀÇ Çʵå´Â ¸ðµÎ - ¹®ÀÚ·Î ºÐ¸®µÇ¾î ÀÖ½À´Ï´Ù. °¢°¢ÀÇ Àǹ̿¡ ´ëÇؼ­ ¾Ë¾Æº¸µµ
·Ï ÇÒ±î¿ä?

(1) Á¦ÀÛÀÚ Çʵå ( Foundry Field )

º¸Åë ¸Ç ¾Õ¿¡ ¿À´Â ÀÌ Çʵå´Â * ¹®ÀÚ¸¦ ½á¼­ ¾î¶² °÷¿¡¼­ ¸¸µé¾ú´ÂÁö »ó°üÇÏÁö ¾Ê
´Â °æ¿ì°¡ ¸¹½À´Ï´Ù. º¸Åë Adobe ȸ»ç°¡ ¸¸µç ÆùÆ®ÀÇ °æ¿ì¿¡´Â adobe¶ó´Â ¹®ÀÚ°¡
µé¾î°¡ ÀÖÁö¿ä. ÀÌ ¹Û¿¡µµ bitstream, b&h, schumacher, sun, kaist, hanyang, misc
µîÀÇ ¹®ÀÚ¿­ÀÌ µé¾î°¡ ÀÖ´Â °ÍÀ» Á¾Á¾ º¸½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù.

(2) Æйи® Çʵå ( Family Field )

 ÀÌ ³à¼®ÀÌ ±× ÆùÆ®ÀÇ ÀüüÀûÀÎ ¸ð¾çÀ» °áÁ¤ÇÕ´Ï´Ù. ¿ì¸®°¡ ¸¹ÀÌ µé¾îº» Helvetica,
Times Roman, Courier µîµîÀÌ ±×°ÍÀÔ´Ï´Ù. ¿ì¸® ÆùÆ®ÀÎ °æ¿ì¿¡´Â myeongjo, gothic
µîÀÌ ¹Ù·Î ±×°ÍÀÌÁÒ.

(3) ¹«°Ô Çʵå(?) ( Weight Field )

  medium, bold, demibold µîÀÇ °ªÀ» °¡Áý´Ï´Ù. ¾î¶² ÀǹÌÀÎÁö ¾Æ½Ç °Ì´Ï´Ù.

(4) °æ»çµµ Çʵå(?) ( Slant Field )

  È°ÀÚÀÇ °æ»ç¿¡ ´ëÇÑ Áö½ÃÀÚÀÔ´Ï´Ù. r Àº ¿ì¸®°¡ ¾Ë°í ÀÖ´Â Á¤»óÀûÀÎ ·Î¸¸Ã¼, i´Â
 ÀÌÅŸ¯Ã¼¸¦ ¸»Çϸç, o ´Â ¹«¾ùÀϱî¿ä? Oblique ¶ó°í Çؼ­ À̰͵µ °æ»ç¹®ÀÚüÀε¥,
 ¹¹¶ó°í ¼³¸íµå·Á¾ß ÇÒÁö... ÀÌ°Í ¸»°íµµ ri, ro µîÀÇ °ªÀÌ Àִµ¥ °¢°¢ reverse
 italic, reverse oblique ÀÇ Àǹ̸¦ °®½À´Ï´Ù.

(5) Æø Çʵå ( Setwidth Name Field )

  º¸ÅëÀÇ °æ¿ì ¸ðµÎ normal·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ¿Ü¿¡ condensed, narrow µîÀÇ
 °ªÀ» °¡Áý´Ï´Ù.

(6) ºÎ°¡Àû ½ºÅ¸ÀÏ Çʵå(?) ( Additional Style Field )

  ¼¼¸®ÇÁ(Serif)¿Í »ê¼¼¸®ÇÁ(Sans Serif)ÀÇ Â÷ÀÌ °°ÀÌ ºÎ°¡Àû ½ºÅ¸ÀÏÀÇ Â÷À̸¦ ³ª
 ³ªÅ¸³» ÁÖ´Â ÇʵåÀÔ´Ï´Ù. ¼¼¸®ÇÁ´Â º¸Åë ¿ì¸®°¡ º¸´Â ·Î¸¶ÀÚ È°Àڷμ­ I, M °ú °°
 Àº ±ÛÀÚ À§ ¾Æ·¡¿¡ ÀÖ´Â °¡´Ã°í ªÀº ¼±À» ¸»ÇÕ´Ï´Ù. ¹ºÁö °¨ÀÌ ¿À½Ê´Ï±î? I ÀÚ
 À§ ¾Æ·¡¿¡ ÀÖ´Â ¿·À¸·Î °¡´Â ¼± º¸À̽ÃÁÒ? ¿©·¯ºÐÀÌ ÇÑÅÒÀ» ¾²½Ã°í ¶ÇÇÑ ±âº» Æù
 Æ²(-kaist-*-johab-* ...)¸¦ ¾²½Å´Ù¸é Áö±Ý ´çÀå È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ¼¼¸®ÇÁ
 ¹®ÀÚ¶õ ¹Ù·Î ±×·¯ÇÑ Àå½ÄÀ» °®´Â ¹®ÀÚ¸¦ ¸»ÇÕ´Ï´Ù. »ê¼¼¸®ÇÁ´Â ±×·¯ÇÑ Àå½ÄÀÌ ¾ø
 ´Â ¹®ÀÚ¸¦ ¸»ÇÕ´Ï´Ù. Sans ¶ó°í ÇÏ´Â °ÍÀÌ ¿µ¾î °í¾î·Î Without À̶ó´Â ÀǹÌÀ̱â
 ¶§¹®ÀÔ´Ï´Ù. Sans Serif ¶Ç´Â Sanserif ¶ó°í ÇÕ´Ï´Ù.
  º¸Åë nil ÀÇ °ª, ¾Æ¹« °ªµµ ¾ø´Â °æ¿ì°¡ Çã´ÙÇÕ´Ï´Ù. ¿©·¯ºÐÀÌ ÆùÆ®¸íÀ» »ìÆ캸
 ½Ã¸é Ç×»ó 6¹ø° Çʵ尡 ¾Æ¹« °ªµµ ¾øÀÌ -- ÀÌ·± ½ÄÀ¸·Î 󸮵Ǿî ÀÖ´Â °ÍÀ» º¸
 ½Ç ¼ö ÀÖ½À´Ï´Ù.

 (7) È°ÀÚ Å©±â Çʵå ( Pixel Size Field )

  ¾ÆÁÖ ¸¹ÀÌ »ç¿ëÇÏ´Â Çʵå·Î¼­ È°ÀÚÀÇ Å©±â¸¦ ³ªÅ¸³»´Â ÇʵåÀÔ´Ï´Ù. ¿ì¸®°¡ °¡Àå
 ¸¹ÀÌ »ç¿ëÇÏ´Â ¿µ¿ªÀº ¾Æ¸¶µµ 10 ~ 20 »çÀÌ°¡ ¾Æ´Ò±î »ý°¢ÇÕ´Ï´Ù. Scalable ÆùÆ®
 ¿¡´Â ÇØ´ç»çÇ×ÀÌ ¾ø½À´Ï´Ù. ÀÚÀ¯·Ó°Ô ÁöÁ¤ÇØ Áֽʽÿä. ±× ÀÌ¿ÜÀÇ ºñÆ®¸Ê ÆùÆ®µé
 Àº ƯÁ¤ Å©±âÀÇ È°Àڵ鸸ÀÌ Á¸ÀçÇÕ´Ï´Ù.

 (8)   Çʵå ( Point Size Field )

  ´ÜµµÁ÷ÀÔÀûÀ¸·Î ¸ð¸¨´Ï´Ù! :)

 (9)  X ¹æÇâ ÇØ»óµµ Çʵå ( X Resolution Field )
 (10) Y ¹æÇâ ÇØ»óµµ Çʵå ( Y Resolution Field )

  °¢°¢ X, Y ¹æÇâÀÇ Çػ󵵸¦ ³ªÅ¸³À´Ï´Ù. ¿©·¯ºÐÀÌ 75 dpi, 100 dpi ÆùÆ®¸¦ ¼³Ä¡
 ÇÏ¼Ì´Ù¸é ±× µð·ºÅ丮¿¡ °¡¼­ È®ÀÎÇغ¸½Ê½Ã¿ä. 75, 100 µîÀÇ ¼ýÀÚ°¡ ¾º¿©Á® ÀÖ½º
 ´Ï´Ù. Scalable¿¡¼­´Â 0 ÀÔ´Ï´Ù.

 (11) °ø°£ Çʵå ( Space Field )

  ¿µ¹®ÀÚ¿¡¼­ È°ÀÚ I¿Í MÀ» »ý°¢ÇØ º¾½Ã´Ù. µÎ ¹®ÀÚÀÇ ÆøÀÌ ´Ù¸£ÁÒ? I Àڴ ȦÂßÇÑ
 ¹®ÀÚÀÌ°í M ÀÚ´Â ¶×¶×ÇÑ ¹®ÀÚÀε¥, ÄÄÇ»ÅÍ¿¡¼­´Â µÎ È°ÀÚ¸¦ ¶È°°Àº »ç°¢ÇüÀÇ ¿µ¿ª
 ¿¡ ³Ö¾î »ý°¢ÇÏ´Â °æ¿ì°¡ ´ëºÎºÐÀÔ´Ï´Ù. ±×³É Ãâ·ÂÇϱâ ÆíÇϴϱî¿ä. ±×·¯ÇÑ ÀϹÝ
 ÀûÀÎ °æ¿ì¸¦ m , Monospace ¶ó°í Çϸç, I¿Í M ÀÚ¿Í °°ÀÌ Æø¿¡ µû¶ó °£°ÝÀ» Á¶È­·Ó
 °Ô Á¤·ÄÇØÁÖ´Â °ÍÀ» p , Proportional ºñ·Ê¹®ÀÚ¶ó°í ÇÕ´Ï´Ù. ÃâÆǹ° ±×¸®°í ¼öÁØ
 ³ôÀº ¿¡µðÅÍÀÇ °æ¿ì p È°ÀÚ¸¦ ¾²°ÚÁö¿ä? c ´Â m °ú µ¿ÀÏÇÑ ÀǹÌÀÔ´Ï´Ù. ¿ì¸®°¡ ¾²
 °íÀÚ ÇÏ´Â È°ÀÚ´Â ´ëºÎºÐ m ÀÔ´Ï´Ù. °è»êÀÌ °£ÆíÇϴϱî¿ä.

 (12) Æò±Õ Æø Çʵå ( Average Width Field )

  ±ÛÀÚ ±×´ë·Î ÀÔ´Ï´Ù. Æò±ÕÀ̶ó°í ÇÑ ÀÌÀ¯´Â À§¿¡¼­ ¸»¾¸µå¸®´Â °Í¿¡ ÀÇÇÏ¸é ½±°Ô
 ÀÌÇØÇÏ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. Çѱۿ¡´Â Àû¿ë»çÇ× ¾ø´Â °Í °°½À´Ï´Ù.

 (13) µî·Ï Çʵå ( Registry Field )

  µî·Ï ÇʵåÀÔ´Ï´Ù. ¿©±â¿¡ µé¾î°¡´Â °ª ¸î °¡Áö¸¦ ¼Ò°³ÇÔÀ¸·Î½á ¼³¸íÀ» ´ë½ÅÇÏ°Ú
 ½À´Ï´Ù. adobe, dec, iso646.1991, ¿ì¸®°¡ ¾ÆÁÖ ÀÚÁÖ º¸´Â iso8859, johab,
 johabs, ksc5601.1987 µîÀÌ ±×°ÍÀÔ´Ï´Ù. Áï ¹®ÀÚ ¼¼Æ®¸¦ ÀǹÌÇÏ´Â °Í °°ÁÒ?
 johab(s)Àº Á¶ÇÕÇü ¹æ½ÄÀÇ ÀÚ¼Ò ÆùÆ®À̸ç, ksc5601.1987Àº ¿Ï¼ºÇü ¹æ½ÄÀÇ ±ÛÀÚ Æù
 Æ®ÀÔ´Ï´Ù. ÀϹÝÀûÀÎ ¿µ¹®ÀÚ´Â iso8859ÀÔ´Ï´Ù.

 (14) ÀÎÄÚµù Çʵå ( Encoding Field )

  ÈÞ, ¸¶Áö¸· ÇʵåÀ̱º¿ä. 0, 1, 8, irv µîÀÇ °ªµéÀÌ µé¾î°¡ ÀÖ½À´Ï´Ù. Àß ¸ð¸£´Â
 ÇʵåÀÔ´Ï´Ù. 13¹ø° Çʵå¿Í ¿¬°üÇÏ¿© »ý°¢ÇϽøé ÁÁ½À´Ï´Ù. º¸Åë iso8859-1,
 ksc5601.1987-0, iso646.1991-irv °ú °°Àº ²ôÆ®¸Ó¸® ±ÛÀÚµéÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

==============================================================================
9-3) ¿µ¹® ÅؽºÆ® Ãâ·Â ¿¬½À
==============================================================================

 Ãâ·Â ¿¹¸¦ »ìÆ캸±â·Î ÇսôÙ.

¿¹Á¦)

#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 Loading ) ]
-------------------------------------------------------------------------------

ÇÔ¼ö ¿øÇü :

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 ¶ó°í ÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÇÏÁö¿ä. :)  ÀÚ... ±×·±µ¥
 ¿ä°Ç ¿©·¯ºÐ²² °úÁ¦·Î ³²°Ü¾ß ÇÏ°Ú±º¿ä. ¹Ù·Î ´ÙÀ½ ÆùÆ® °­ÀÇ (2)¿¡¼­ ¼³¸íÀ»
 µå¸®°Ú½À´Ï´Ù. °úÁ¦´Â XLoadQueryFont, ÀÌ¿Í °ü·ÃÇÑ XFontStruct ÀÇ ±¸Á¶ Á¶»ç
 ÀÔ´Ï´Ù. ¸ÇÆäÀÌÁö¿¡ ³Ê¹«µµ Á¤È®È÷ ³ª¿Í ÀÖÀ¸´Ï±ñ °ÆÁ¤ÇÏÁö ¸¶½Ã±â ¹Ù¶ø´Ï´Ù.

-------------------------------------------------------------------------------
[ ÆùÆ®¸¦ GC ¿¡ µî·Ï ]
-------------------------------------------------------------------------------

ÇÔ¼ö ¿øÇü :

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() À» »ç¿ëÇÏ°í
ÀÖ½À´Ï´Ù. ±× µÚÀÇ ¸ðµç °úÁ¤µµ ¸¶Âù°¡ÁöÀÌÁö¸¸ ÇÁ·Î±×·¥ Á¾·á ÈÄ ÀÚµ¿À¸·Î ÀÌ·ç
¾îÁö´Â °úÁ¤À̱ä ÇÕ´Ï´Ù. ÇÏÁö¸¸, ¿©·¯ºÐ²²¼­ ¹º°¡ »ó¿ë ÇÁ·Î±×·¥À̳ª ¹º°¡ ±×·²
µíÇÑ ÇÁ·Î±×·¥À» ¸¸µå½Ã·Á°í ÇÏ½Å´Ù¸é ²À µÞ󸮸¦ ÀßÇØÁֽʽÿä.

¿©·¯ºÐÀÇ ÇÁ·Î±×·¥À¸·Î ¿¹±âÄ¡ ¸øÇÑ »ç°ÇÀ» ÀÚÁÖ ´çÇÏ°Ô µÇ¸é ¿©·¯ºÐÀÇ ÇÁ·Î±×·¥Àº
ÀØÇôÁúÅ״ϱî¿ä.

===============================================================================
¸ÎÀ½¸»
===============================================================================

Xlib °­ÀÇ°¡ ³Ê¹« ´Ê¾îÁ®¼­ Á˼ÛÇÕ´Ï´Ù. ¿©·¯ºÐ ´öºÐ¿¡ À¯¸íÇØÁ³´ÂÁö ÀâÁö»ç¿¡¼­µµ
¿ø°í ûŹÀÌ ÀÖ°í, ±â¸» °í»ç¿¡, Á¹¾÷³í¹®( ÀúÈñ´Â 1Çбâ¿Í 2Çб⠰³Çг¯ ¹ßÇ¥¸¦
Çϰŵç¿ä. ) Áغñ ¶§¹®¿¡... °Ô´Ù°¡ ¸î °³ÀÇ ÇÁ·ÎÁ§Æ®µµ ÀÖ°í... ¶Ç´Â ÇÒ ÀÏÀÌ ¸¹
À¸¸é¼­µµ ºóµÕ´ë±âµµ ÇÏ°í. ¾Æ¹¸Æ° Á˼ÛÇÕ´Ï´Ù.

´ÙÀ½ ¹ø °­ÀÇ¿¡¼­´Â ¿©·¯ºÐ²² °¡Àå ÇÊ¿äÇϸ®¶ó°í »ý°¢ÇÏ´Â ÇÑ±Û ÆùÆ® Ãâ·Â¿¡ ´ëÇÏ
¿© ¾Ë¾Æº¸°Ú½À´Ï´Ù. ±× ¼³¸í ¼Ó¿¡¼­ ¿À´Ã ¹è¿î ÆùÆ® Ãâ·Â¿¡ °üÇÑ °Íµµ ´õ¿í ½ÉÈ­
Çؼ­ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

±×·³, ¾È³çÈ÷ °è½Ê½Ã¿ä.

HomePage Backward Forward Post Reply List
1998 by swindler