http://fontforge.sourceforge.net/hinting.html [[TableOfContents]] == OpenType Outline (Type2 or Type 1 etc.) == === Stem === Type1±Û²ÃÀÇ °¡Àå ±âº»ÀûÀÎ ÈùÆà * Point¸¦ ±âÁØÀ¸·Î ÇÏÁö ¾Ê´Â´Ù. (quadraticÀÌ´ø qubicÀÌ´ø »ó°ü ¾øÀ½) * VStem, HStem DStemÀÌ ÀÖ´Ù. * °¢°¢ÀÇ StemÀº µÎ°³ÀÇ Á¡ ȤÀº ±âÁØÀ̵Ǵ Á¡°ú ÆøÀ¸·Î Á¤ÀǵȴÙ. * StemÀº Point°¡ Àְųª ¾ø°Å³ª »ó°ü ¾øÀÌ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. === Hint Mask (Hint Substitution Points) === * Point¸¦ ±âÁØÀ¸·Î ÇÑ´Ù. {{{: If a glyph has conflicting hints then the ''first point in the glyph'' (the first point on the first contour) MUST have a hintmask attached to it. If it does not, the FontForge will automatically figure substitution points when it generates the font. Other points are not required (but may) have a hintmask. }}} * http://fontforge.sourceforge.net/getinfo.html#HintMask === Counter Control hints === * Point¸¦ ±âÁØÀ¸·Î ÇÑ´Ù. from http://www.adobe.com/devnet/font/pdfs/5015.Type1_Supp.pdf {{{: The Counter Control hint mechanism controls counter spaces in a glyph. A counter may be defined as an area of white space which is delimited by a pair of horizontal or vertical stems. This mechanism is designed to aid in the rendering of fonts containing complex glyph shapes by ensuring that the size and proportions of all counters in a glyph are rendered as accurately as possible. For example, if multiple counters are exactly the same measurement in width or height, the Counter Control mechanism will make them the same number of pixels, providing there are a sufficient number of pixels available. Similarly, if the width of two counters in the original design are, for example, in the ratio of 3:5, the interpreter attempts to preserve this proportion, based on the constraints of the glyph¡¯s width. .... For '''fonts with complex glyphs''', it is very important to include Counter Control hints; failure to do so can result in performance and quality degradation. }}} * http://www.microsoft.com/typography/tools/trtalr.htm * http://fontforge.sourceforge.net/charinfo.html#CounterMasks * http://www.adobe.com/devnet/font/pdfs/5015.Type1_Supp.pdf == TrueType Outline == * Type1/Type2ÀÇ StemÈùÆÃÀÇ °æ¿ì´Â Æ÷ÀÎÆ®¸¦ ±âÁØÀ¸·Î ÇÏÁö ¾Ê´Â´Ù. Hint mask, CounterµîÀº Æ÷ÀÎÆ®¸¦ ±âÁØÀ¸·Î ÇÑ´Ù. * Æ®·çŸÀÔÀÇ Grid fittingÈùÆÃÀÇ °æ¿ì´Â Æ÷ÀÎÆ®¸¦ ±âÁØÀ¸·Î ÇÑ´Ù. * µû¶ó¼­, Type1 À±°û¼±À» Æ®·çŸÀÔÀÇ quadratic splineÀ¸·Î º¯È¯À» °¡Çϸé Á¡ ±â¹Ý ÈùÆÃÀÎ Hint mask, Counter Á¤º¸´Â Àоî¹ö¸®°Ô µÈ´Ù. FontForgeÀÇ ¼³¸í¼­¸¦ Àß Àо¸é TrueType {{{AutoInstr()}}}´Â {{{AutoHint()}}} ȤÀº Á÷Á¢ ÈùÆÃÇÑ ±âº»ÀûÀÎ ÈùÆÃÁ¤º¸(Stem, Counter etc.)¸¦ ¹ÙÅÁÀ¸·Î Æ®·çŸÀÔ ÀνºÆ®·°¼ÇÀ» Áý¾î³Ö´Â´Ù°í ÇÑ´Ù. Áï FontForge·Î ÆíÁýÇÑ SFDÇü½ÄÀÇ bezierÆ÷¸Ë¿¡ Type1¿¡¼­ ¾²´Â ¹æ½ÄÀÇ ÈùÆÃÀ» ±Ù°Å·ÎÇؼ­ Æ®·çŸÀÔ ÀνºÆ®·°¼ÇÀ» ÀÚµ¿À¸·Î ³Ö¾îÁشٴ °ÍÀÌ´Ù. Æ®·çŸÀÔ ±Û²ÃÀÇ ÈùÆÃÀνºÆ®·°¼ÇÀº glyphÀÇ °¢°¢ Æ÷ÀÎÆ®¸¦ ±âÁØÀ¸·Î grid fittingÀ» ÇÏ°Ô µÈ´Ù. ´Ù½Ã¸»Çϸé, ±Û²ÃÀÇ À±°û¼±¿¡ ¼öÁ¤À» °¡ÇÏ°Ô µÇ¸é ±âÁ¸ÀÇ Æ®·çŸÀÔ ÈùÆà ÀνºÆ®·°¼ÇÀº ¾µ¸ð°¡ ¾ø¾îÁö°Ô µÉ °¡´É¼ºÀÌ ³ô¾ÆÁø´Ù´Â ¸». ´õ¿ì±â Type1±Û²ÃÀ» TrueTypeÀ¸·Î º¯ÇüÀ» °¡ÇÑ´Ù°í ÇßÀ» ¶§, ±âÁ¸ Type1 ÀÚÇü¿¡ º¯°æÀÌ °¡ÇØÁö¸é bezier -> spline º¯È¯À¸·Î ¾ò¾îÁö´Â Æ®·çŸÀÔ À±°û¼±ÀÇ Æ÷ÀÎÆ®µéµµ ´ç¿¬È÷ º¯ÇüÀÌ µÈ´Ù. Ȥ ¾Ö½á Áý¾î³ÖÀº Æ®·çŸÀÔ ÀνºÆ®·°¼ÇÀÌ ¹«¿ëÁö¹°ÀÌ µÇ¾î¹ö¸®´Â °Í. ±×·¯³ª Àß ¸¸µé¾îÁø Type1ÀÇ ÈùÆÃÀº {{{AutoInstr()}}} ¸í·ÉÀ» ÅëÇØ ±¦ÂúÀº ¼öÁØÀÇ ÀÚµ¿ Æ®·çŸÀÔ ÈùÆÃÀνºÆ®·°¼ÇÀ» ¾òÀ» ¼ö ÀÖÀ» °ÍÀ¸·Î »ý°¢µÈ´Ù. -- WkPark [[DateTime(2008-05-21T11:59:23)]]