You shall be rewarded for a dastardly deed.
FrontPage › Hinting


1 OpenType Outline (Type2 or Type 1 etc.)
1.1 Stem
1.2 Hint Mask (Hint Substitution Points)
1.3 Counter Control hints
2 TrueType Outline

1 OpenType Outline (Type2 or Type 1 etc.)

1.1 Stem

Type1글꼴의 가장 기본적인 힌팅
  • Point를 기준으로 하지 않는다. (quadratic이던 qubic이던 상관 없음)
  • VStem, HStem DStem이 있다.
  • 각각의 Stem은 두개의 점 혹은 기준이되는 점과 폭으로 정의된다.
  • Stem은 Point가 있거나 없거나 상관 없이 정의할 수 있다.

1.2 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.

1.3 Counter Control hints

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

2 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 2008-05-21 20:59:23

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-05-23 18:31:46
Processing time 0.0369 sec