JPH05323937A - Hinting processing method - Google Patents

Hinting processing method

Info

Publication number
JPH05323937A
JPH05323937A JP4127556A JP12755692A JPH05323937A JP H05323937 A JPH05323937 A JP H05323937A JP 4127556 A JP4127556 A JP 4127556A JP 12755692 A JP12755692 A JP 12755692A JP H05323937 A JPH05323937 A JP H05323937A
Authority
JP
Japan
Prior art keywords
hinting
point
points
processing
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP4127556A
Other languages
Japanese (ja)
Other versions
JP3224142B2 (en
Inventor
Minoru Sakai
稔 境井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP12755692A priority Critical patent/JP3224142B2/en
Publication of JPH05323937A publication Critical patent/JPH05323937A/en
Application granted granted Critical
Publication of JP3224142B2 publication Critical patent/JP3224142B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE:To hold relative positions of control points at the time of designing and control the contour line by a simple process with a small volume of data. CONSTITUTION:The dot numbers of the contour line are held in Ns and Ne (step 101), and the difference between the (x) coordinates of Ns and Ne is held in X and the difference between the (y) coordinates is held in Y (step 102). Then X(N) is regarded as the (x) coordinate of a dot N and Y(N) is regarded as the (y) coordinate of the dot N; and X'(N) is regarded as the (x) coordinate of the dot N after movement and Y'(N) is regarded as (y) coordinate of the dot N after the movement, and a point right after the starting point is set to N (step 104). Further, N'(N) and T'(N) are calculated until the point N reaches the end point Ns, and N is increased to N+1 and the calculation is repeated (step 105, 106, and 107). Consequently, points between the dots Ns and Ne are moved so that the initial relative positions are maintained.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、アウトラインフォント
ファイルにおける輪郭線のヒンティング処理方法に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a hinting method for contour lines in an outline font file.

【0002】[0002]

【従来の技術】デスクトップパブリッシング、パーソナ
ルコンピュータ、ワードプロセッサ、ディジタルファッ
クス等においては、その装置内に文字フォントデータが
用意されている。斯るフォントデータは、通常、ドット
パターン方式、アウトライン方式、あるいはそれらの併
用方式の何れかの方式によって保持されている。そし
て、アウトラインフォントを表示、印刷するために、そ
のフォント表現はドットパターンに変換される。
2. Description of the Related Art In desktop publishing, personal computers, word processors, digital fax machines, etc., character font data is prepared in the apparatus. Such font data is usually held by a dot pattern method, an outline method, or a combination thereof. The font representation is then converted to a dot pattern for displaying and printing the outline font.

【0003】従来、アウトラインフォントをドットイメ
ージに変換するラスタライズにおいては、フォントファ
イルによって輪郭点の座標データと各輪郭点のヒンティ
ングに関する属性データが与えられ、実際のヒンティン
グ処理は、これら座標データと属性データを用いてラス
タライザが行っていた。
Conventionally, in rasterization for converting an outline font into a dot image, a font file gives coordinate data of contour points and attribute data relating to hinting of each contour point, and the actual hinting process uses these coordinate data. It was done by the rasterizer using the attribute data.

【0004】ここで、ヒンティング処理とは、アウトラ
インを美しく整形するための処理をいい、ヒンティング
に際して輪郭点を適当な位置に移動することによって行
う。従来、このヒンティング処理は、四捨五入や切り捨
てなどの丸め処理を行っているために、本来滑らかにつ
ながるようにデザインされた複数の曲線がヒンティング
処理後には凸凹になり易いという傾向があった。
Here, the hinting process is a process for shaping the outline beautifully, and is performed by moving the contour point to an appropriate position during hinting. Conventionally, since this hinting processing has performed rounding processing such as rounding or truncation, there is a tendency that a plurality of curves originally designed to be smoothly connected tend to be uneven after the hinting processing.

【0005】[0005]

【発明が解決しようとする課題】上記した点を改善する
技術としては、例えば、特開平2−223988号公報
に記載の文字処理装置が提案されている。この装置は、
文字パターンを分類分けし、分類されたパターンについ
て条件に合った平滑化処理を施すものであるが、その処
理は非常に複雑である。
As a technique for improving the above points, for example, a character processing device described in JP-A-2-223988 is proposed. This device
Although the character patterns are classified and the smoothing process that meets the conditions is performed on the classified patterns, the process is very complicated.

【0006】ところで、この種の技術分野においては、
アウトラインフォントのサイズが大きくなるにしたがっ
て線が細くなって見えるという問題があることが良く知
られている。これは、ステムなどの黒部分が太くなるの
と同時に、その隙間の白部分も広くなり、この結果、人
間の目には白部分のみが強調されて相対的に線が細く見
えてしまうと説明される。
By the way, in this kind of technical field,
It is well known that there is a problem that lines appear thinner as the size of the outline font increases. It is explained that the black part such as the stem becomes thicker and the white part of the gap becomes wider at the same time, and as a result, only the white part is emphasized and the line looks relatively thin to the human eye. To be done.

【0007】そこで、これを解決した技術として、特公
昭63−6874号公報に記載の文字・図形の発生方法
があるが、この方法は一つの文字の輪郭部について2つ
のパターンを文字メモリに格納して処理しているので、
処理データ量が通常の2倍近くになるという欠点があっ
た。
As a technique for solving this, there is a method of generating characters and figures described in Japanese Patent Publication No. Sho 63-6874. This method stores two patterns in the character memory for the outline portion of one character. I am processing it, so
There is a drawback that the amount of processed data is almost twice as much as usual.

【0008】本発明の目的は、デザイン時の輪郭点の相
対的な位置を保持し、かつ簡単な処理と、より少ないデ
ータ量で輪郭線を制御するヒンティング処理方法を提供
することにある。
An object of the present invention is to provide a hinting processing method for maintaining the relative positions of contour points at the time of designing, simple processing, and controlling the contour line with a smaller amount of data.

【0009】本発明の他の目的は、変倍後のサイズに適
応して線幅を変化させ、サイズに応じて高品質に処理す
るヒンティング処理方法を提供することにある。
Another object of the present invention is to provide a hinting processing method which adapts the size after scaling to change the line width and processes with high quality according to the size.

【0010】[0010]

【課題を解決するための手段】前記目的を達成するため
に、請求項1記載の発明では、複数のグリフデータを有
し、該各グリフデータは、輪郭点の集合であるアウトラ
イン情報と該アウトライン情報を制御するヒンティング
情報によって構成されてなるアウトラインフォントファ
イルにおける輪郭線のヒンティング処理方法において、
輪郭線を構成する所定の輪郭点に対しては、線幅補正、
線消え防止およびかすれ防止を含む第1のヒンティング
処理を施し、それ以外の輪郭点に対しては、該第1のヒ
ンティング処理された点との相対位置を保つように移動
する第2のヒンティング処理を施すことを特徴としてい
る。
In order to achieve the above object, the invention according to claim 1 has a plurality of glyph data, each glyph data being outline information which is a set of contour points and the outline. In a hinting method for outlines in an outline font file, which is composed of hinting information for controlling information,
For predetermined contour points that make up the contour line, line width correction,
A first hinting process including line disappearing prevention and blurring prevention is performed, and other contour points are moved so as to maintain a relative position with respect to the first hinting processed point. It is characterized by the hinting process.

【0011】請求項2記載の発明では、曲線を制御する
始点、終点を除く点に対して、前記第2のヒンティング
処理を施すことを特徴としている。
According to a second aspect of the present invention, the second hinting process is applied to points other than the start point and the end point for controlling the curve.

【0012】請求項3記載の発明では、縦横ステムを構
成する輪郭点に対して前記第1のヒンティング処理を施
し、それ以外の輪郭点に対して前記第2のヒンティング
処理を施すことを特徴としている。
According to the third aspect of the present invention, the first hinting process is performed on the contour points forming the vertical and horizontal stems, and the second hinting process is performed on the other contour points. It has a feature.

【0013】請求項4記載の発明では、縦横ステムを構
成する輪郭点と曲線の始点と終点に対して前記第1のヒ
ンティング処理を施すことを特徴としている。
According to a fourth aspect of the present invention, the first hinting process is performed on the contour points forming the vertical and horizontal stems and the starting and ending points of the curve.

【0014】請求項5記載の発明では、曲線中の方向変
化を生じる部分に対して、前記第1のヒンティング処理
を施すことを特徴とする請求項4記載のヒンティング処
理方法。
According to a fifth aspect of the present invention, the hinting processing method according to the fourth aspect is characterized in that the first hinting process is applied to a portion in the curve where a direction change occurs.

【0015】請求項6記載の発明では、長方形の対角線
上の2点に対して前記第1のヒンティング処理を施し、
他の2点に対して前記第2のヒンティング処理を施すこ
とを特徴としている。
According to a sixth aspect of the present invention, the first hinting process is applied to two points on a diagonal line of a rectangle,
The second hinting process is applied to the other two points.

【0016】請求項7記載の発明では、グリフにおける
ウロコの先端点に対して前記第2のヒンティング処理を
施すことを特徴としている。
According to a seventh aspect of the present invention, the second hinting process is applied to the tip points of the scales in the glyph.

【0017】請求項8記載の発明では、本来等しい幅で
あるべきステムが変倍後においてもその線幅を等しく保
つように線幅を補正するヒンティング処理方法におい
て、該線幅と変倍後のサイズは所定の関数関係にあるこ
とを特徴としている。
According to the eighth aspect of the invention, in the hinting processing method for correcting the line width so that the stems, which should have originally the same width, maintain the same line width even after scaling, in the method after scaling. Is characterized by having a predetermined functional relationship.

【0018】請求項9記載の発明では、変倍後のサイズ
と該サイズに応じた線幅との対応を記憶したテーブルを
参照して線幅を補正することを特徴としている。
The invention according to claim 9 is characterized in that the line width is corrected by referring to a table storing the correspondence between the size after scaling and the line width according to the size.

【0019】請求項10記載の発明では、変倍後のサイ
ズに応じて、請求項8記載の関数または請求項9記載の
テーブルの何れかを用いて線幅を補正することを特徴と
している。
The invention described in claim 10 is characterized in that the line width is corrected by using either the function described in claim 8 or the table described in claim 9 according to the size after scaling.

【0020】請求項11記載の発明では、前記請求項1
ないし7記載の処理と前記請求項8ないし10記載の線
幅補正処理を組み合わせることを特徴としている。
According to the invention of claim 11, the invention according to claim 1
It is characterized in that the processing according to any one of claims 1 to 7 is combined with the line width correction processing according to any one of claims 8 to 10.

【0021】[0021]

【作用】輪郭線の始点と終点の点番号をNs,Neに保
持し、NsとNeのx座標の差をXに、y座標の差をY
に保持する。X(N)を点Nのx座標、Y(N)を点N
のy座標とし、X’(N)を点Nの移動後のx座標、
Y’(N)を点Nの移動後のy座標とし、始点の次の点
をNに設定し、点Nが終点Nsになるまで、X’(N)
とY’(N)を計算し、NをN+1にして繰り返す。こ
れにより、点Nsと点Neに挾まれた点が、最初の相対
位置を保つように移動処理され、ヒンティング処理後の
グリフの形状を美しくすることができる。
The point numbers of the start and end points of the contour line are held in Ns and Ne, the difference between the x coordinates of Ns and Ne is set to X, and the difference between the y coordinates is set to Y.
Hold on. X (N) is the x coordinate of point N, Y (N) is the point N
X '(N) after the movement of the point N,
Let Y '(N) be the y coordinate after the movement of point N, set the point next to the start point to N, and set X' (N) until the point N becomes the end point Ns.
And Y '(N) are calculated, and N is set to N + 1, and the process is repeated. As a result, the point sandwiched between the point Ns and the point Ne is moved so as to maintain the initial relative position, and the shape of the glyph after the hinting processing can be made beautiful.

【0022】[0022]

【実施例】以下、本発明の一実施例を図面を用いて具体
的に説明する。本実施例においては、各輪郭点は、その
グリフ内で一意に定まる連続した番号で参照され、図9
に示すようにその番号は輪郭線をたどる順に1ずつ増え
るものとする。また、曲線の表現としては二次スプライ
ン(これはいわゆるコニック曲線である)を用いて説明
するが、本実施例はこれに限定されるものではなく、他
の曲線の表現であってもよい。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be specifically described below with reference to the drawings. In the present embodiment, each contour point is referred to by a consecutive number uniquely determined within the glyph, and
As shown in, the number is incremented by 1 in the order of tracing the contour line. Further, although a quadratic spline (this is a so-called conic curve) is used as the expression of the curve, the present embodiment is not limited to this, and an expression of another curve may be used.

【0023】また、本実施例の前提となるアウトライン
フォントファイル構成は、図15に示すように、n個の
グリフデータ1(グリフ1,グリフ2,・・・グリフ
n)と共有データ2によって構成されている。
The outline font file structure which is the premise of this embodiment is composed of n glyph data 1 (glyph 1, glyph 2, ... Glyph n) and shared data 2 as shown in FIG. Has been done.

【0024】また、図16に示すようにグリフデータ
は、アウトライン情報11とヒンティング情報12から
なっている。そして、アウトライン情報11は、連続的
に番号を付けられた輪郭点とその座標データからなり、
ヒンティング情報12は、アウトライン情報11を制御
する命令列(例えば、点1を右に1ドットシフトすると
いう命令など)から構成されている。図17は、共有デ
ータ2の中に輪郭点を制御するためのサブルーチン群
(サブルーチン1からサブルーチンm)が含まれている
図である。
Further, as shown in FIG. 16, the glyph data is composed of outline information 11 and hinting information 12. The outline information 11 is made up of contour points that are consecutively numbered and their coordinate data.
The hinting information 12 is composed of an instruction sequence for controlling the outline information 11 (for example, an instruction for shifting the point 1 to the right by one dot). FIG. 17 is a diagram in which the shared data 2 includes a group of subroutines (subroutine 1 to subroutine m) for controlling contour points.

【0025】なお、本実施例で用いる従来のヒンティン
グ処理について簡単に説明する。 (1)線幅補正 変倍されたフォントのアウトラインをそのままラスタラ
イズすると、その置かれた位置によっては、本来同じ幅
にデザインされていても、生成されるドットイメージと
しては異なる幅になってしまうことがある。これを補正
処理するのがいわゆる線幅補正である。これは以下のよ
うにして処理する。
The conventional hinting process used in this embodiment will be briefly described. (1) Line width correction If the outline of a scaled font is rasterized as it is, even if it is originally designed to have the same width, the resulting dot image will have a different width depending on the position where it is placed. There is. The so-called line width correction corrects this. This is processed as follows.

【0026】1.縦ステムの左側の縦線、横ステムの下
側の横線をピクセル境界やピクセル中心などの特定の位
置に移動し、そこから特定の距離の位置に対応する線を
移動する。 2.縦横ステムの中心線をピクセル境界やピクセル中心
などの特定の位置に移動し、そこから特定の距離の位置
に輪郭線を移動する。 3.各文字に複数の特徴点を設定し、各ステムの位置を
その特徴点からの距離として管理する。この制御点をピ
クセル境界やピクセル中心などの特定の位置に移動し、
そこから特定の距離の位置に各ステムを移動する。
1. The vertical line on the left side of the vertical stem and the horizontal line on the lower side of the horizontal stem are moved to a specific position such as a pixel boundary or a pixel center, and a line corresponding to a position at a specific distance is moved from that position. 2. The center line of the vertical and horizontal stems is moved to a specific position such as the pixel boundary or the pixel center, and the contour line is moved to a position at a specific distance from that. 3. A plurality of feature points are set for each character, and the position of each stem is managed as the distance from the feature point. Move this control point to a specific position such as the pixel boundary or the pixel center,
Move each stem to a specific distance from it.

【0027】(2)線消えの防止 変倍によってそのサイズが小さくなると、あるステムが
ピクセルとピクセルの間に入ってしまうことがある。そ
のためにそのステムはドットとしては現われない。これ
を防止するために、次の方法が用いられる。
(2) Prevention of line disappearance When the size is reduced due to magnification change, a stem may be located between pixels. Therefore, the stem does not appear as a dot. In order to prevent this, the following method is used.

【0028】1.アウトラインのそのステムに関わる部
分のみを移動してドットとして現われるようにする。 2.ステムの最小幅を例えば1に規定しておくことによ
り、必ずそのステムが現われるようにする。 3.ラスタライザの機能として、このような線消えが起
きないようにする。このような処理は、斜線や曲線によ
って構成される縦横に尖った部分についても適用され
る。
1. Move only the part of the outline related to that stem so that it appears as a dot. 2. By defining the minimum width of the stem as 1, for example, the stem is sure to appear. 3. The function of the rasterizer is to prevent such line disappearance. Such a process is also applied to a vertically and horizontally sharp portion formed by diagonal lines and curves.

【0029】(3)かすれの防止 変倍によってそのサイズが小さくなると、斜線や曲線に
おいてその一部がピクセルとピクセルの間に入ってしま
うことがある。その結果、かすれて見えることになり、
美しさが損なわれる。これを防止するために、次の方法
が用いられる。
(3) Prevention of Blurring When the size is reduced by zooming, a part of it may fall between pixels in a diagonal line or a curved line. As a result, it looks faint,
Beauty is spoiled. In order to prevent this, the following method is used.

【0030】1.斜線や曲線の最小幅を例えば1に規定
しておくことにより、必ずその斜線や曲線が現われるよ
うにする。 2.ラスタライザの機能として、このようなかすれが起
きないようにする。
1. By defining the minimum width of the slanted line or the curve to be 1, for example, the slanted line or the curved line is sure to appear. 2. The rasterizer's function is to prevent such blurring.

【0031】〈実施例1〉本発明は、上記ヒンティング
情報12における輪郭点の制御方法に係り、図1は、本
実施例に係る相対位置を保存して移動処理するヒンティ
ング処理のフローチャートである。図1において、まず
輪郭線の始点と終点の点番号をNs,Neにそれぞれ保
持する(ステップ101)。NsとNeのx座標の差を
Xに、y座標の差をYに保持する(ステップ102)。
このときXまたはYが0であれば例外として処理する
(ステップ108)。
<Embodiment 1> The present invention relates to a method for controlling contour points in the hinting information 12, and FIG. 1 is a flowchart of hinting processing for storing relative positions and moving them according to the present embodiment. is there. In FIG. 1, first, the point numbers of the starting point and the ending point of the contour line are held in Ns and Ne, respectively (step 101). The difference between the x coordinates of Ns and Ne is held at X, and the difference between the y coordinates is held at Y (step 102).
At this time, if X or Y is 0, it is treated as an exception (step 108).

【0032】X(N)を点Nのx座標、Y(N)を点N
のy座標とし、X’(N)を点Nの移動後のx座標、
Y’(N)を点Nの移動後のy座標とする。始点の次の
点をNに設定する(ステップ104)。そして、点Nが
終点Nsになるまで、 X’(N)={(X(N)−X(Ns))*(X’(Ne)
−X’(Ns))/X}+X’(Ns) Y’(N)={(Y(N)−Y(Ns))*(Y’(Ne)
−Y’(Ns))/Y}+Y’(Ns) を計算し、NをN+1にして繰り返す(ステップ10
5,106,107)。
X (N) is the x coordinate of the point N, and Y (N) is the point N.
X '(N) after the movement of the point N,
Let Y ′ (N) be the y coordinate after the movement of the point N. The point next to the start point is set to N (step 104). Then, until the point N reaches the end point Ns, X ′ (N) = {(X (N) −X (Ns)) * (X ′ (Ne)
−X ′ (Ns)) / X} + X ′ (Ns) Y ′ (N) = {(Y (N) −Y (Ns)) * (Y ′ (Ne)
-Y '(Ns)) / Y} + Y' (Ns) is calculated, and N is set to N + 1 and repeated (step 10).
5, 106, 107).

【0033】上記移動後の位置の計算は、比例配分の方
法であり、これにより、点Nsと点Neに挾まれた点
を、最初の相対位置を保つように移動することができ
る。本実施例の処理を用いて実際に図形を移動する例を
図2を用いて説明する。なお、ここでは元の図形をある
サイズに縮小してあるものとして説明する。
The above-mentioned calculation of the position after the movement is a proportional distribution method, whereby the point sandwiched between the points Ns and Ne can be moved so as to maintain the initial relative position. An example of actually moving a graphic using the processing of this embodiment will be described with reference to FIG. It should be noted that here, it is assumed that the original figure is reduced to a certain size.

【0034】図2(a)は、初期状態を示す図であり、
点aで始まり点bをオフポイント(曲線の始点と終点に
はさまれた、曲線を制御するための点をいう)として点
cに至る曲線と、点cに始まり点dをオフポイントとし
て点eに至る曲線が滑らかに接続している状態を表して
いる。各点の相対位置は、 X(b)−X(a):X(c)−X(b):X(d)−
X(c):X(e)−X(d)=2:5:5:4 Y(b)−Y(a):Y(c)−Y(b):Y(d)−
Y(c):Y(e)−Y(d)=7:3:3:−2 である。
FIG. 2A is a diagram showing an initial state,
A curve starting from a point a to a point b as an off point (a point between the start point and the end point of the curve for controlling the curve) and a point starting from a point c and having an off point d. The curve up to e represents a smooth connection. The relative position of each point is: X (b) -X (a): X (c) -X (b): X (d)-
X (c): X (e) -X (d) = 2: 5: 5: 4 Y (b) -Y (a): Y (c) -Y (b): Y (d)-
Y (c): Y (e) -Y (d) = 7: 3: 3: -2.

【0035】図2(b)は、従来のヒンティング処理に
よって、これらの輪郭点が整数座標上に丸められた図を
示し、この図から明らかなように、曲線の接続が正しく
保存されていない。
FIG. 2B shows a diagram in which these contour points are rounded on the integer coordinates by the conventional hinting process. As is apparent from this diagram, the curve connection is not correctly saved. ..

【0036】そこで、本実施例では、点aと点eのみに
従来のヒンティング処理を施し、残る点に対して、前述
した相対位置を保つように点を移動することによって、
図2(c)に示す曲線が得られる。図2(c)の曲線か
ら明らかなように、曲線の接続が正しく保存されている
ことが分かる。このように、実施例1では、デザイン時
の輪郭点の相対的な位置が保存されるので、ヒンティン
グ処理後もグリフの形状が極端に歪むことが防止され、
特に連続した曲線においてその効果が顕著に現われる。
また、ウロコやトメといったグリフの特徴的な形状を統
一することができる。
Therefore, in this embodiment, the conventional hinting process is applied only to the points a and e, and the points are moved so as to maintain the relative position described above with respect to the remaining points.
The curve shown in FIG. 2 (c) is obtained. As is clear from the curves in FIG. 2 (c), it can be seen that the curve connections are preserved correctly. As described above, in the first embodiment, since the relative positions of the contour points at the time of design are saved, it is possible to prevent the glyph shape from being extremely distorted even after the hinting process.
The effect is remarkable especially in continuous curves.
Also, the characteristic shapes of glyphs such as scales and tome can be unified.

【0037】〈実施例2〉漢字のように画数の多い文字
を表示する際に重要なことは、ウロコやトメの如き特徴
を少なくともそのグリフ内で統一して表示することであ
る。図4は、グリフの一例を示す図で、点nと点iの部
分の形状がグリフ内において統一されている必要があ
る。勿論、フォント全体を通じて形状が統一されている
ことが望ましいが、そのために相当な処理を要する。そ
こで、本実施例では、一つのグリフ中においては同じ形
状になるように処理するものである。
<Embodiment 2> When displaying a character having a large number of strokes such as a Chinese character, it is important to display features such as a scale and a tome at least within the glyph. FIG. 4 is a diagram showing an example of a glyph, and the shapes of the points n and i need to be unified in the glyph. Of course, it is desirable that the shapes are uniform throughout the font, but this requires considerable processing. Therefore, in this embodiment, processing is performed so that one glyph has the same shape.

【0038】図4のグリフにおいて、点oと点j、点m
と点hに対して、それぞれ同じヒンティング処理が施さ
れる。従って、本実施例では、それらの点との相対位置
を保つことによって、点nと点iの部分が同一の形状の
ドットイメージを生成するようにしたものである。
In the glyph of FIG. 4, points o, j, and m
And the point h are subjected to the same hinting process. Therefore, in this embodiment, by maintaining the relative position with respect to these points, the dot image having the same shape at the points n and i is generated.

【0039】図3は、実施例2の処理フローチャートで
ある。なお、ここでは説明を簡単にするために、輪郭線
の始点はオフポイントではないものとする。まず、輪郭
線の始点をPnとする(ステップ201)。Pnがオフ
ポイントでなければ(ステップ204)、通常のヒンテ
ィング処理を施す(ステップ205)。その後PnをP
n+1にする(ステップ206)。この処理をPnが輪
郭線の終点を越えるまで繰り返す(ステップ203)。
FIG. 3 is a processing flowchart of the second embodiment. It should be noted that here, for simplification of description, it is assumed that the start point of the contour line is not the off point. First, the starting point of the contour line is set to Pn (step 201). If Pn is not the off point (step 204), normal hinting processing is performed (step 205). Then Pn to P
It is set to n + 1 (step 206). This process is repeated until Pn exceeds the end point of the contour line (step 203).

【0040】再び、輪郭線の始点をPnとし、その直前
の点(この時点では輪郭線の終点)をPpとする(ステ
ップ207)。Pnがオフポイントでなければ何もしな
い。Pnがオフポイントである間、PnをPn+1にす
ることを繰り返す(ステップ210,211,21
2)。このとき、輪郭線の終点に至った場合には始点に
戻る(ステップ215)。Pnがオフポイントでなくな
った時点で、PpとPnで挾まれた点に対して図1に示
した相対位置を保つ移動処理を施す(ステップ21
3)。PnをPn+1に、Ppをその直前の点にする
(ステップ214)。以上の処理をPnが輪郭線の終点
を越えるまで繰り返す。
Again, the start point of the contour line is set to Pn, and the point immediately before that (the end point of the contour line at this point) is set to Pp (step 207). If Pn is not the off point, do nothing. While Pn is the off point, Pn is set to Pn + 1 repeatedly (steps 210, 211, and 21).
2). At this time, when the end point of the contour line is reached, the process returns to the start point (step 215). When Pn is no longer the off point, the moving process for maintaining the relative position shown in FIG. 1 is performed on the point sandwiched between Pp and Pn (step 21).
3). Pn is set to Pn + 1 and Pp is set to the point immediately before that (step 214). The above process is repeated until Pn exceeds the end point of the contour line.

【0041】このように、実施例2によれば、トメなど
の一つの曲線で表される形状については、グリフ内でそ
の形状を統一することができる。
As described above, according to the second embodiment, it is possible to unify the shape represented by one curve such as a toe in the glyph.

【0042】〈実施例3〉明朝体のように縦横ステムに
特徴のあるフォントにおいては、それらに対するヒンテ
ィング処理が重要となる。つまり、逆にいえばそれ以外
の点については、ヒンティング処理はさほど重要ではな
いことになる。
<Embodiment 3> In a font having a characteristic of vertical and horizontal stems such as Mincho type, hinting processing for them is important. In other words, conversely, the hinting process is not so important in other points.

【0043】本実施例では、図4に示すグリフにおい
て、縦横ステムを構成する点a,b,c,g,h,j,
k,l,m、oに対して従来のヒンティング処理(例え
ば、線幅の補正処理など)を施し、それ以外の点d,
e,f,i,nに対しては、本実施例の図1の相対位置
を保つ移動処理を施すだけで、十分に美しい形状を得ら
れるようにしたものである。
In the present embodiment, in the glyph shown in FIG. 4, points a, b, c, g, h, j, which form vertical and horizontal stems,
Conventional hinting processing (for example, line width correction processing) is applied to k, l, m, and o, and other points d,
With respect to e, f, i and n, a sufficiently beautiful shape can be obtained only by performing a moving process for maintaining the relative position in FIG. 1 of the present embodiment.

【0044】図5、図6は、実施例3の処理フローチャ
ートである。図5、図6において、輪郭線の始点をP
s、Psの次の点をPeとする(ステップ301)。P
sとPeのx座標が同じであるならば、PsからPeに
至る線分は垂直線である(ステップ302)。そして、
その線分は、縦ステムの左右端の何れかであるが(ステ
ップ307)、もし、Psのy座標がPeのそれよりも
大きければ右端、そうでなければ左端と判定され、これ
らに対しては縦ステムの幅を所定幅にするようなヒンテ
ィング処理を施す(ステップ308,309)。
5 and 6 are processing flowcharts of the third embodiment. 5 and 6, the starting point of the contour line is P
The point next to s and Ps is set to Pe (step 301). P
If s and Pe have the same x coordinate, the line segment from Ps to Pe is a vertical line (step 302). And
The line segment is one of the left and right ends of the vertical stem (step 307), but if the y coordinate of Ps is larger than that of Pe, it is determined as the right end, otherwise it is determined as the left end. Performs a hinting process to make the width of the vertical stem a predetermined width (steps 308 and 309).

【0045】PsとPeのx座標が異なり、y座標が等
しい場合も(ステップ303)全く同様に横ステムの上
端であるか下端であるかを判定する(ステップ30
4)。そして、これらに対しては横ステムの幅を所定幅
にするようなヒンティング処理を施す(ステップ30
5,306)。
Even when the x-coordinates of Ps and Pe are different and the y-coordinates are the same (step 303), it is determined exactly whether it is the upper end or the lower end of the lateral stem (step 30).
4). Then, a hinting process is performed on these to set the width of the lateral stem to a predetermined width (step 30).
5,306).

【0046】PsからPeに至る線分が、上記いずれの
ステムでもなければ何もしない。Psが輪郭線の終点に
なるまで、つまり輪郭線上のすべての線分について以上
の処理を行う(ステップ310,311,312,31
3)。
If the line segment from Ps to Pe is neither of the above stems, nothing is done. The above processing is performed until Ps reaches the end point of the contour line, that is, for all line segments on the contour line (steps 310, 311, 312, 31).
3).

【0047】再び、輪郭線の始点をPsとして、Psの
次の点をPeとする(ステップ314)。PsからPe
に至る線分が水平または垂直であるならば、何もしない
(ステップ324以下)。そうでなければ、その始点P
sをPcに保持する(ステップ316)。PsをPeと
し、Psの次の点をPeとする(ステップ317,31
8、320)。PsからPeに至る線分が水平または垂
直でない間、この処理を繰り返す(ステップ322)。
Again, the starting point of the contour line is set to Ps, and the point next to Ps is set to Pe (step 314). Ps to Pe
If the line segment to is horizontal or vertical, do nothing (step 324 and below). Otherwise, its starting point P
Hold s at Pc (step 316). Let Ps be Pe, and let the point next to Ps be Pe (steps 317, 31).
8, 320). This process is repeated while the line segment from Ps to Pe is not horizontal or vertical (step 322).

【0048】PsからPeに至る線分が水平または垂直
になったら、PcとPsに挾まれた一連の点に対して、
図1の相対位置を保つ移動処理を施す(ステップ32
2,323)。なお、繰返し中に輪郭線の終点が来たと
きはエラーであるが、ここで図1の相対位置を保つ移動
処理を施して処理を終了する(ステップ321)。その
後、PsをPeとし、Psの次の点をPeとする(ステ
ップ327)。そして、ステップ315に戻る。このと
きPsが輪郭線の終点に来れば処理を終了する(ステッ
プ325)。
When the line segment from Ps to Pe becomes horizontal or vertical, for a series of points sandwiched between Pc and Ps,
A movement process for maintaining the relative position in FIG. 1 is performed (step 32).
2, 323). It should be noted that, when the end point of the contour line comes during the repetition, it is an error, but the moving process for maintaining the relative position in FIG. 1 is performed here and the process ends (step 321). Then, Ps is set to Pe, and the point next to Ps is set to Pe (step 327). Then, the process returns to step 315. At this time, if Ps reaches the end point of the contour line, the process ends (step 325).

【0049】本実施例によれば、縦横ステムに従来のヒ
ンティング処理を施すだけで、グリフ全体として整った
形状にすることができ、また縦横ステム以外の部分に
は、移動処理のヒンティング処理を施しているので、そ
の処理データ量を大幅に削減することが可能となる。
According to this embodiment, the glyph as a whole can be formed into a neat shape only by subjecting the vertical and horizontal stems to the conventional hinting process, and the parts other than the vertical and horizontal stems are subjected to the hinting process of the moving process. As a result, the amount of processed data can be significantly reduced.

【0050】〈実施例4〉図9(a)のグリフに対し
て、上記した実施例3の処理を適用した場合、点0,
1,2の如きステム上の点に対しては従来のヒンティン
グ処理が施される。これに対して、点13から点19に
至る曲線群や点23から点27に至る曲線群は、その縦
横ステムのヒンティング処理に伴って図1の相対位置を
保つ移動処理が施される。このため、ステムに対する従
来のヒンティング処理によってステムの太さに変化が生
じたとき、曲線部の太さとの統一性が失われる可能性が
ある。
<Embodiment 4> When the processing of Embodiment 3 described above is applied to the glyph of FIG.
Conventional hinting processing is applied to points on the stem such as 1 and 2. On the other hand, the curve group from the point 13 to the point 19 and the curve group from the point 23 to the point 27 are subjected to the movement processing for maintaining the relative position in FIG. 1 in accordance with the hinting processing of the vertical and horizontal stems. Therefore, when the thickness of the stem changes due to the conventional hinting process for the stem, the consistency with the thickness of the curved portion may be lost.

【0051】そこで、本実施例では、点13,19や点
23,27を上下に移動するようなヒンティング処理を
施し、その後、図1の相対位置を保つ移動処理を施すこ
とによって、曲線部を滑らかにしつつ全体の太さを調整
するようにしたものである。
Therefore, in the present embodiment, the hinting process for moving the points 13, 19 and the points 23, 27 up and down is performed, and then the moving process for maintaining the relative position of FIG. It is intended to adjust the overall thickness while smoothing.

【0052】図7,図8は、実施例4の処理フローチャ
ートである。この処理は、基本的には図5,図6の処理
と同じものである。ただし、ここでは縦横ステムに対す
る従来のヒンティング処理(図5のステップ305,3
06,308,309)を「補正処理(ステップ40
3)」としてまとめている。
7 and 8 are process flowcharts of the fourth embodiment. This process is basically the same as the process of FIGS. However, here, the conventional hinting processing for vertical and horizontal stems (steps 305 and 3 in FIG. 5) is performed.
06, 308, 309) to “correction process (step 40
3) ”.

【0053】まず、Psを輪郭線の始点とし、PeをP
sの次の点とする(ステップ401)。PsからPeに
至る直線が縦横ステムを構成するならば、そのためのヒ
ンティング処理を施す(ステップ403)。そうでなけ
れば、PsからPeに至る直線が縦横ステムとなるま
で、逐次PsとPeを増やしながら輪郭線をたどる(ス
テップステップ407、ステップ413までの処理)。
First, let Ps be the starting point of the contour line and Pe be P
It is set as the next point of s (step 401). If the straight line from Ps to Pe constitutes a vertical and horizontal stem, hinting processing for that is performed (step 403). Otherwise, the contour line is traced while successively increasing Ps and Pe until the straight line from Ps to Pe becomes the vertical and horizontal stems (processes up to step 407 and step 413).

【0054】輪郭線の終点に至ったところで(ステップ
405、ステップ411)、再びPsを輪郭線の始点と
し、PeをPsの次の点とする(ステップ414)。P
sが曲線部の開始点であれば(ステップ415)、Pc
にPsを保持する(ステップ420)。Peが曲線部の
終点になるまでPsとPeを増やしながら輪郭線をたど
る(ステップ421以下を繰り返す)。曲線部の始点、
終点であるPcとPeに必要なヒンティング処理を施
す。その後、これらPcとPeに挾まれた点に対して、
図1の移動処理を施す(ステップ426)。Psが曲線
部の終点でない間、PsとPeを増やしながら輪郭線を
たどり、以上の処理を繰り返す。
When the end point of the contour line is reached (steps 405 and 411), Ps is again set as the start point of the contour line and Pe is set as the next point of Ps (step 414). P
If s is the start point of the curved portion (step 415), Pc
Hold Ps at step 420. The contour line is traced while increasing Ps and Pe until Pe reaches the end point of the curved portion (repeat steps 421 and thereafter). The starting point of the curve,
The necessary hinting process is applied to the end points Pc and Pe. After that, for the points sandwiched between Pc and Pe,
The moving process of FIG. 1 is performed (step 426). While Ps is not the end point of the curved portion, the contour line is traced while increasing Ps and Pe, and the above processing is repeated.

【0055】本実施例によれば、縦横ステムと曲線(ま
たは曲線群)の始点、終点だけに従来のヒンティング処
理を施すことにより、美しいヒンティング処理結果を得
ることができる。特に、本実施例の簡単な移動処理によ
って曲線部全体にわたってヒンティング処理が施される
ことになる。
According to this embodiment, a beautiful hinting result can be obtained by performing the conventional hinting process only on the vertical and horizontal stems and the starting and ending points of the curve (or group of curves). In particular, the hinting process is applied to the entire curved portion by the simple moving process of this embodiment.

【0056】〈実施例5〉本実施例は、方向変化を生じ
る部分に対してヒンティング処理を施すようにしたもの
である。図9(b)は、漢字の一部を示し、点5から点
6に至る直線と点16から点17に至る直線は、横ステ
ムを構成している。このような図に対して、従来は前述
した技術を組み合わせてヒンティング処理を施してい
る。すなわち、点5から点6に至る直線と、点16から
点17に至る直線によって構成される横ステムに対して
は、線幅補正と線消え対策が施され、また点8から点1
0に至る曲線や点12から点14に至る曲線に対して
は、一種の線消え対策が施されている。
<Embodiment 5> In this embodiment, a hinting process is applied to a portion where a direction change occurs. FIG. 9B shows a part of the Chinese character, and the straight line from the point 5 to the point 6 and the straight line from the point 16 to the point 17 form a lateral stem. Conventionally, hinting processing is performed on such a drawing by combining the above-described techniques. That is, line width correction and line erasure measures are applied to the lateral stem composed of the straight line from point 5 to point 6 and the straight line from point 16 to point 17, and from point 8 to point 1.
For the curve reaching 0 and the curve extending from the point 12 to the point 14, a kind of line disappearing countermeasure is taken.

【0057】ところが、これらの処理を独立に行うと、
曲線の接続が滑らかでなくなる恐れがあり、また全体の
形状がゆがんでしまいやすい。そこで、上記実施例4で
説明した方式に従って、曲線部に対して移動処理を施す
ことを考える。点6と点16に対しては従来のヒンティ
ング処理が施される。この処理の結果、これらの点は上
下に移動することになる。
However, if these processes are performed independently,
Curved connections may not be smooth, and the overall shape may be distorted. Therefore, it is considered to perform the moving process on the curved portion according to the method described in the fourth embodiment. Conventional hinting processing is applied to points 6 and 16. As a result of this processing, these points will move up and down.

【0058】そして、点6と点16の間の曲線に対し
て、移動処理を施すと、点7から点15までの点は、そ
の相対位置を保つように移動される。その結果、これら
の曲線群は滑らかにつながったまま、その位置を変える
ことができる。
When the moving process is applied to the curve between the points 6 and 16, the points 7 to 15 are moved so as to maintain their relative positions. As a result, the positions of these curves can be changed while being smoothly connected.

【0059】ところが、点6と点16は、上下方向にし
か移動しないため、この移動処理によっては例えば、点
8から点10に至る曲線に一種の線消え対策が施されて
いない。そのため点8から点10に至る曲線部分がドッ
トとしては表示されなくなってしまう可能性がある。点
12から点14に至る曲線についても同様である。
However, since the points 6 and 16 move only in the vertical direction, for example, the curve from the point 8 to the point 10 is not provided with a measure to eliminate the line by this moving process. Therefore, the curved portion from the point 8 to the point 10 may not be displayed as a dot. The same applies to the curve from point 12 to point 14.

【0060】従って、このような場合には、点8から点
10に至る曲線と点12から点14に至る曲線に対して
は、従来のヒンティング処理を施した後、移動処理を実
行すればよいことになる。すなわち、曲線や斜線が、そ
の方向を大きく変えるときに、従来のヒンティング処理
を施せばよい。
Therefore, in such a case, the conventional hinting process is applied to the curve from the point 8 to the point 10 and the curve from the point 12 to the point 14 and then the moving process is executed. It will be good. That is, conventional hinting processing may be performed when the direction of a curved line or diagonal line changes significantly.

【0061】本実施例では、点をたどる方向の変化が9
0度を下回る(急な角をなす)ものについて従来のヒン
ティング処理を適用する例について示した。しかし、ど
のような条件のときにこれを適用するかについては種々
の方法があり、例えば、90度ではなく、120度を下
回るときに適用するようにしたり、あるいはまた急な傾
きの部分からなだらかな傾きに変わる部分や、その逆の
部分にこれを適用することもできる。
In this embodiment, the change in the direction of tracing a point is 9
An example in which the conventional hinting process is applied to those having a degree of less than 0 degrees (forming a steep angle) has been shown. However, there are various methods for applying this condition, for example, it is applied when the temperature is lower than 120 degrees instead of 90 degrees, or when the slope is steep. This can also be applied to the part that changes to a different slope and vice versa.

【0062】本実施例によれば、縦横ステムと曲線(ま
たは曲線群)の始点、終点と方向の変化点にヒンティン
グ処理を施すことにより、美しいヒンティング処理結果
を得ることができる。特に、簡単な処理によって曲線部
全体にわたってヒンティング処理が施されることにな
る。
According to this embodiment, a beautiful hinting result can be obtained by subjecting the vertical and horizontal stems and the starting point of the curve (or group of curves), the ending point and the change point of the direction to the hinting process. In particular, the hinting process is applied to the entire curved portion by a simple process.

【0063】〈実施例6〉図10に示す、長方形の輪郭
線に対してヒンティング処理を施すことを考える。例え
ば、点aを基準にしてヒンティング処理をする。点b
は、その縦方向には点aと同じ処理を行い、横方向には
縦ステムの線幅を補正するための処理をする。点dは、
横方向には点aと同じ処理を行い、縦方向には横ステム
の線幅を補正するための処理をする。
<Embodiment 6> It is considered that hinting processing is applied to a rectangular contour line shown in FIG. For example, the hinting process is performed based on the point a. Point b
Performs the same processing as the point a in the vertical direction, and performs processing for correcting the line width of the vertical stem in the horizontal direction. The point d is
The same process as the point a is performed in the horizontal direction, and the process for correcting the line width of the horizontal stem is performed in the vertical direction.

【0064】残った点cは、縦横方向ともに線幅補正の
ための処理を行わなければならず、処理に相当の時間を
要する。ところが、前述した本実施例の相対位置を保存
する移動処理を用いることによって、この点に対するヒ
ンティング処理を不要にすることができる。つまり、本
実施例の相対位置を保存する移動処理は、元もと等しい
x,y座標は移動処理後も等しいことを保証するからで
ある。同様の理由から、点aについてもヒンティング処
理が不要になり、結局長方形に関しては対角線上の2点
に対してのみヒンティング処理を施せば十分である。
The remaining point c has to be processed for line width correction in both the vertical and horizontal directions, which requires a considerable time. However, the hinting process for this point can be made unnecessary by using the moving process for saving the relative position of the present embodiment described above. In other words, the moving process for saving the relative position in this embodiment guarantees that the originally same x and y coordinates are the same after the moving process. For the same reason, the hinting process is not necessary for the point a, and for the rectangle, it is sufficient to perform the hinting process only on two diagonal points.

【0065】本実施例によれば、従来4つの輪郭点すべ
てに施していたヒンティング処理が、対角線上の2点だ
けにヒンティング処理を施せば済み、処理時間、データ
量ともに格段に削減することができる。
According to the present embodiment, the hinting processing conventionally performed on all four contour points only needs to be subjected to the hinting processing on only two points on the diagonal line, and the processing time and the amount of data are significantly reduced. be able to.

【0066】〈実施例7〉本実施例は、ウロコの頂点に
対して、相対位置を保存する移動処理を施す実施例であ
る。すなわち、図11は、あるグリフのウロコ部分に対
するヒンティング処理の前後の図であり、(a)は、変
倍された原図形、(b)は、各輪郭点を整数座標上に四
捨五入した従来のヒンティング処理後の図である。従来
から行われてきたヒンティング処理は、そのほとんどが
切り捨て、切り上げなどの方法を採っているので、ヒン
ティング処理後の輪郭線の形状は、その置かれた位置に
よって全く異なったものとなり、当然ラスタライズされ
た結果も全く異なったものになる。
<Embodiment 7> In this embodiment, a moving process for storing the relative position is applied to the vertices of a scale. That is, FIG. 11 is a diagram before and after the hinting process for the scale portion of a certain glyph, (a) is a scaled original figure, and (b) is a conventional figure in which each contour point is rounded to integer coordinates. It is a figure after the hinting process of. Most of the conventional hinting processes have adopted methods such as rounding down and rounding up, so the shape of the contour line after hinting will be completely different depending on the position where it is placed. The rasterized result will also be quite different.

【0067】そこで、本実施例では、ウロコの頂点にの
み、相対位置を保存する移動処理を施すことにより、図
11(c)に示すように、ウロコの形状を統一すること
ができる。このように、本実施例によれば、簡単な処理
によって、一つのグリフ内でウロコの形状を統一するこ
とが可能になる。
Therefore, in the present embodiment, the shape of the scales can be unified as shown in FIG. 11 (c) by performing the moving process for storing the relative position only on the vertices of the scales. As described above, according to the present embodiment, it is possible to unify the shapes of the scales within one glyph by a simple process.

【0068】〈実施例8〉従来、線幅補正を行う際の線
幅は、一定のサイズでデザインされたものを、その表示
サイズにしたがって変倍することによって得ていた。つ
まり、その線幅の変化は、図12に示すように線形に変
化していた。このため、従来技術で説明したように、小
サイズでは線が太く、大サイズでは線が細くなるという
印象を与えることになる。また、サイズが十分小さくな
ると、ステムが消えてしまうことにもなる。
<Embodiment 8> Conventionally, the line width when performing line width correction has been obtained by scaling a line width designed according to its display size. That is, the change in the line width was linearly changed as shown in FIG. Therefore, as described in the related art, it gives an impression that the line is thick in the small size and thin in the large size. Also, if the size is small enough, the stem will disappear.

【0069】そこで、本実施例では、図13に示すよう
な各種の関数を用いて線幅を決定するものである。すな
わち、図13(a)は、極小サイズではある最小幅(例
えば、1ドット)になるようにし、それ以上のサイズで
は従来と同様に線形に変化する関数にしたものである。
(b)は、例えば2次曲線のような、小サイズでは変化
が小さく、大サイズでは変化が大きくなる関数の例であ
る。(c)は、(a)と(b)をつなげた関数であり、
すなわち、極小サイズではある最小幅(例えば、1ドッ
ト)になり、ある大サイズまでは2次曲線のように変化
し、それより大きなサイズでは直線的に変化する関数で
ある。なお、本実施例は特定の関数に限定されるもので
はなく、各種の関数が適用可能である。
Therefore, in this embodiment, the line width is determined by using various functions as shown in FIG. That is, in FIG. 13A, the minimum width is set to a certain minimum width (for example, 1 dot) in the minimum size, and in the size larger than that, the function is changed linearly as in the conventional case.
(B) is an example of a function, such as a quadratic curve, that has a small change in a small size and a large change in a large size. (C) is a function that connects (a) and (b),
In other words, it is a function that has a minimum width (for example, 1 dot) in the extremely small size, changes like a quadratic curve up to a certain large size, and linearly changes in the larger size. The present embodiment is not limited to a specific function, and various functions can be applied.

【0070】本実施例によれば、少ない記憶容量で、種
々の特性の線幅処理を行うことができる。
According to this embodiment, it is possible to perform line width processing with various characteristics with a small storage capacity.

【0071】〈実施例9〉本実施例は、上記関数をテー
ブルを用いて実現した実施例である。図14(a)は、
サイズと線幅とが1対1の対応関係にあるテーブルの構
成例を示し、(b)は、ある範囲のサイズを与えたとき
の対応する線幅を生成する多対1の対応関係にあるテー
ブルの構成例を示す図である。なお、これらの数値は、
単なる例示にすぎない。
<Embodiment 9> This embodiment is an embodiment in which the above function is realized by using a table. FIG. 14A shows
A configuration example of a table in which a size and a line width have a one-to-one correspondence relationship is shown, and (b) shows a many-to-one correspondence relationship for generating a corresponding line width when a size in a certain range is given. It is a figure which shows the structural example of a table. These numbers are
It is merely an example.

【0072】本実施例によれば、テーブルを用いること
により、記憶容量は増えるものの、関数計算に比べて高
速の処理が可能になる。
According to the present embodiment, by using the table, the storage capacity is increased, but the processing speed is higher than that of the function calculation.

【0073】〈実施例10〉本実施例は、上記した実施
例8と9を組み合わせた実施例である。すなわち、例え
ば30〜50ドットという、よく使用されるサイズ、あ
るいは20〜30ドットという、きめ細かな処理が必要
となるサイズに対してはテーブルを用いて線幅計算し、
その他のサイズに対しては関数を用いる。これによっ
て、必要なサイズにおいては処理速度が速く、使用頻度
の低いサイズにおいては記憶容量が少なくて済む。
<Embodiment 10> This embodiment is an embodiment in which Embodiments 8 and 9 described above are combined. That is, for a commonly used size of, for example, 30 to 50 dots, or a size of 20 to 30 dots that requires fine processing, a line width is calculated using a table,
Functions are used for other sizes. As a result, the required size has a high processing speed, and the infrequently used size requires a small storage capacity.

【0074】〈実施例11〉上述した本実施例1から7
は、相対位置を保存する移動処理の用い方に関する実施
例であり、特に実施例1は一般的なもの、実施例2から
5は曲線やステムに関するもの、実施例6は長方形の処
理、実施例7はウロコの処理に関するものである。従っ
て、これらの処理の内の幾つかを組み合わせて用いるこ
とが可能となる。さらに、実施例8から11に示した線
幅の決定方法も同時に適用することにより、更に美しい
フォントを得ることができる。このように、本実施例で
は、前述した各実施例の全ての長所を選択的に使用する
ことができる。
<Embodiment 11> Embodiments 1 to 7 described above.
Is an example relating to the use of the moving process for storing the relative position. Particularly, Example 1 is general, Examples 2 to 5 relate to curves and stems, and Example 6 is rectangular processing. 7 relates to the processing of scales. Therefore, it is possible to use some of these processes in combination. Furthermore, a more beautiful font can be obtained by simultaneously applying the line width determination methods shown in the eighth to eleventh embodiments. As described above, in this embodiment, all the advantages of the above-described embodiments can be selectively used.

【0075】本発明は、一般のアウトラインフォントフ
ァイルのヒンティング処理方法について開示した。しか
し、この方法は、True Typeのようにそれ自身
にプログラムとしてヒンティング情報が含まれているシ
ステムで用いれば、より一層効果的である。特に、Tr
ue Typeではフォントファイル内で共有されるデ
ータ群を有し、その中には各グリフのヒンティング手順
から呼びだされるサブルーチン群を含むように構成され
ているので、上記した本実施例の処理方法の共通部分や
繰返し使用される部分などをサブルーチンとして登録す
ることにより、一層のデータ量の削減が可能になる。
The present invention has disclosed a general outline font file hinting processing method. However, this method is even more effective when used in a system such as True Type, which includes hinting information as a program in itself. Especially Tr
Since the ue Type has a group of data shared in the font file, and is configured to include a group of subroutines called from the hinting procedure of each glyph, the processing of this embodiment described above. By registering the common part of the method or the part used repeatedly as a subroutine, it is possible to further reduce the data amount.

【0076】[0076]

【発明の効果】以上、説明したように、請求項1記載の
発明によれば、ヒンティング処理後においてもデザイン
時の輪郭点の相対的な位置が保存されるので、グリフの
形状が極端に歪むことがなくなる。
As described above, according to the first aspect of the present invention, the relative position of the contour point at the time of design is preserved even after the hinting process, so that the shape of the glyph is extremely small. It will not be distorted.

【0077】請求項2記載の発明によれば、グリフ内で
トメなどの形状を統一することができる。
According to the second aspect of the present invention, the shapes of the toe and the like can be unified within the glyph.

【0078】請求項3記載の発明によれば、縦横ステム
に第1のヒンティング処理を施すだけでグリフ全体とし
て整った形状にすることができ、またその処理量を大幅
に削減することが可能となる。
According to the third aspect of the present invention, it is possible to form the glyph as a whole by just performing the first hinting process on the vertical and horizontal stems, and it is possible to greatly reduce the processing amount. Becomes

【0079】請求項4記載の発明によれば、縦横ステム
と曲線の始点、終点に第1のヒンティング処理を施して
いるので、美しいヒンティング処理結果が得られる。
According to the fourth aspect of the invention, since the first hinting process is applied to the vertical and horizontal stems and the start and end points of the curve, a beautiful hinting result can be obtained.

【0080】請求項5記載の発明によれば、縦横ステム
と曲線の始点、終点と方向の変化点に対して第1のヒン
ティング処理を施しているので、美しいヒンティング処
理結果が得られる。
According to the fifth aspect of the invention, since the first hinting process is applied to the vertical and horizontal stems and the start point, the end point and the change point of the direction of the curve, a beautiful hinting result can be obtained.

【0081】請求項6記載の発明によれば、長方形の対
角線上の2点だけに第1のヒンティング処理を施せば済
むので、処理時間、データ量ともに大幅に削減すること
ができる。
According to the sixth aspect of the present invention, the first hinting process only needs to be applied to two points on the diagonal line of the rectangle. Therefore, both the processing time and the data amount can be greatly reduced.

【0082】請求項7記載の発明によれば、一つのグリ
フ内でウロコの形状を統一することが可能になる。
According to the invention described in claim 7, it becomes possible to unify the shapes of the scales within one glyph.

【0083】請求項8記載の発明によれば、少ない記憶
容量で、種々の特性の線幅処理を行うことができ、サイ
ズに適応した美しいフォントを得ることができる。
According to the invention described in claim 8, line width processing of various characteristics can be performed with a small storage capacity, and a beautiful font adapted to the size can be obtained.

【0084】請求項9記載の発明によれば、テーブルを
参照することにより高速の処理が可能になる。
According to the invention described in claim 9, high speed processing can be performed by referring to the table.

【0085】請求項10記載の発明によれば、必要なサ
イズにおいては処理速度が速く、使用頻度の低いサイズ
においては記憶容量が少なくて済むとともに、サイズに
適応して美しく処理することができる。
According to the tenth aspect of the invention, the required size has a high processing speed, the infrequently used size requires a small storage capacity, and the size can be adjusted to achieve beautiful processing.

【0086】請求項11記載の発明によれば、全ての長
所を選択的に使用することができるので、更に美しいフ
ォントを得ることができる。
According to the eleventh aspect of the present invention, all the advantages can be selectively used, so that a more beautiful font can be obtained.

【図面の簡単な説明】[Brief description of drawings]

【図1】本実施例に係る相対位置を保存して移動処理す
るヒンティング処理のフローチャートである。
FIG. 1 is a flowchart of a hinting process for storing a relative position and performing a moving process according to the present embodiment.

【図2】(a)は、初期状態の曲線を示す図であり、
(b)は、従来のヒンティング処理によって輪郭点が整
数座標上に丸められた図であり、(c)は、本実施例に
よって処理された曲線を示す図である。
FIG. 2A is a diagram showing a curve in an initial state,
(B) is a figure in which the contour points are rounded on the integer coordinates by the conventional hinting processing, and (c) is a figure showing the curve processed by the present embodiment.

【図3】実施例2の処理フローチャートである。FIG. 3 is a processing flowchart of a second embodiment.

【図4】グリフの一例を示す図である。FIG. 4 is a diagram showing an example of a glyph.

【図5】実施例3の処理フローチャートである。FIG. 5 is a processing flowchart of a third embodiment.

【図6】図5の処理フローチャートの続きである。FIG. 6 is a continuation of the processing flowchart of FIG.

【図7】実施例4の処理フローチャートである。FIG. 7 is a processing flowchart of the fourth embodiment.

【図8】図7の処理フローチャートの続きである。FIG. 8 is a continuation of the processing flowchart of FIG.

【図9】(a)、(b)は、本発明が適用されるグリフ
の他の例である。
9A and 9B are other examples of glyphs to which the present invention is applied.

【図10】長方形の輪郭線に対して本発明が適用される
例である。
FIG. 10 is an example in which the present invention is applied to a rectangular contour line.

【図11】ウロコ部分に対するヒンティング処理の前後
の図であり、(a)は、変倍された原図形、(b)は、
各輪郭点を整数座標上に四捨五入した従来のヒンティン
グ処理後の図、(c)は、本実施例のウロコの頂点にの
み相対位置を保存する移動処理を施した図である。
11A and 11B are diagrams before and after the hinting process on the scale part, in which FIG. 11A is a scaled original figure, and FIG.
The figure after the conventional hinting processing in which each contour point is rounded off on the integer coordinates, and (c) is the figure after the movement processing that saves the relative position only to the vertices of the scales of this embodiment.

【図12】従来のサイズと線幅の変化を示す図である。FIG. 12 is a diagram showing changes in conventional size and line width.

【図13】(a),(b),(c)は、本実施例の線幅
を決定する各種の関数である。
13 (a), (b) and (c) are various functions for determining the line width of this embodiment.

【図14】(a)、(b)は、線幅を生成するテーブル
の構成を示す図である。
14A and 14B are diagrams showing the configuration of a table for generating a line width.

【図15】アウトラインフォントファイルの構成を示す
図である。
FIG. 15 is a diagram showing the structure of an outline font file.

【図16】グリフデータの構成を示す図である。FIG. 16 is a diagram showing a structure of glyph data.

【図17】共有データの中に輪郭点を制御するためのサ
ブルーチンが含まれている図である。
FIG. 17 is a diagram in which shared data includes a subroutine for controlling contour points.

【符号の説明】[Explanation of symbols]

1 グリフデータ 2 共有データ 11 アウトライン情報 12 ヒンティング情報 1 Glyph data 2 Shared data 11 Outline information 12 Hinting information

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 複数のグリフデータを有し、該各グリフ
データは、輪郭点の集合であるアウトライン情報と該ア
ウトライン情報を制御するヒンティング情報によって構
成されてなるアウトラインフォントファイルにおける輪
郭線のヒンティング処理方法において、輪郭線を構成す
る所定の輪郭点に対しては、線幅補正、線消え防止およ
びかすれ防止を含む第1のヒンティング処理を施し、そ
れ以外の輪郭点に対しては、該第1のヒンティング処理
された点との相対位置を保つように移動する第2のヒン
ティング処理を施すことを特徴とするヒンティング処理
方法。
1. An outline font file comprising a plurality of glyph data, wherein each glyph data is composed of outline information which is a set of outline points and hinting information for controlling the outline information. In the tinging processing method, first hinting processing including line width correction, line disappearing prevention and blurring prevention is performed on predetermined contour points forming the contour line, and other contour points are A hinting method, comprising performing a second hinting process of moving so as to maintain a relative position with respect to the point subjected to the first hinting process.
【請求項2】 曲線を制御する始点、終点を除く点に対
して、前記第2のヒンティング処理を施すことを特徴と
する請求項1記載のヒンティング処理方法。
2. The hinting processing method according to claim 1, wherein the second hinting processing is performed on points excluding a start point and an end point for controlling a curve.
【請求項3】 縦横ステムを構成する輪郭点に対して前
記第1のヒンティング処理を施し、それ以外の輪郭点に
対して前記第2のヒンティング処理を施すことを特徴と
する請求項1記載のヒンティング処理方法。
3. The first hinting process is performed on contour points forming vertical and horizontal stems, and the second hinting process is performed on other contour points. Hinting treatment method described.
【請求項4】 縦横ステムを構成する輪郭点と曲線の始
点と終点に対して前記第1のヒンティング処理を施すこ
とを特徴とする請求項3記載のヒンティング処理方法。
4. The hinting processing method according to claim 3, wherein the first hinting processing is performed on the start points and the end points of the contour points and curves that form the vertical and horizontal stems.
【請求項5】 曲線中の方向変化を生じる部分に対して
前記第1のヒンティング処理を施すことを特徴とする請
求項4記載のヒンティング処理方法。
5. The hinting processing method according to claim 4, wherein the first hinting processing is applied to a portion in the curve where a direction change occurs.
【請求項6】 長方形の対角線上の2点に対して前記第
1のヒンティング処理を施し、他の2点に対して前記第
2のヒンティング処理を施すことを特徴とする請求項1
記載のヒンティング処理方法。
6. The first hinting process is applied to two points on a diagonal line of the rectangle, and the second hinting process is applied to the other two points.
Hinting treatment method described.
【請求項7】 グリフにおけるウロコの先端点に対して
前記第2のヒンティング処理を施すことを特徴とする請
求項1記載のヒンティング処理方法。
7. The hinting processing method according to claim 1, wherein the second hinting processing is applied to a tip of the scales in the glyph.
【請求項8】 本来等しい幅であるべきステムが変倍後
においてもその線幅を等しく保つように線幅を補正する
ヒンティング処理方法において、該線幅と変倍後のサイ
ズは所定の関数関係にあることを特徴とするヒンティン
グ処理方法。
8. A hinting processing method for correcting a line width so that stems that should have the same width should have the same line width even after scaling, wherein the line width and the size after scaling are a predetermined function. A hinting processing method characterized by having a relationship.
【請求項9】 変倍後のサイズと該サイズに応じた線幅
との対応を記憶したテーブルを参照して線幅を補正する
ことを特徴とする請求項8記載のヒンティング処理方
法。
9. The hinting processing method according to claim 8, wherein the line width is corrected by referring to a table storing the correspondence between the size after scaling and the line width corresponding to the size.
【請求項10】 変倍後のサイズに応じて、請求項8記
載の関数または請求項9記載のテーブルの何れかを用い
て線幅を補正することを特徴とするヒンティング処理方
法。
10. A hinting processing method, wherein the line width is corrected using either the function according to claim 8 or the table according to claim 9, according to the size after scaling.
【請求項11】 前記請求項1ないし7記載の処理と前
記請求項8ないし10記載の線幅補正処理を組み合わせ
ることを特徴とするヒンティング処理方法。
11. A hinting processing method, wherein the processing according to any one of claims 1 to 7 is combined with the line width correction processing according to any one of claims 8 to 10.
JP12755692A 1992-05-20 1992-05-20 Hinting method Expired - Lifetime JP3224142B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12755692A JP3224142B2 (en) 1992-05-20 1992-05-20 Hinting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12755692A JP3224142B2 (en) 1992-05-20 1992-05-20 Hinting method

Publications (2)

Publication Number Publication Date
JPH05323937A true JPH05323937A (en) 1993-12-07
JP3224142B2 JP3224142B2 (en) 2001-10-29

Family

ID=14962942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12755692A Expired - Lifetime JP3224142B2 (en) 1992-05-20 1992-05-20 Hinting method

Country Status (1)

Country Link
JP (1) JP3224142B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6232987B1 (en) 1996-04-02 2001-05-15 Hyundai Electronics Industries Co., Ltd. Progressively renderable outline font and methods of generating, transmitting and rendering the same
JP2007527029A (en) * 2004-01-26 2007-09-20 マイクロソフト コーポレーション Interactive resolution of constraints in font hinting languages
JP2009116915A (en) * 2004-05-28 2009-05-28 Microsoft Corp Appropriately rendering for graphical object, when corresponding outline lacks control points
US7797631B2 (en) 2002-09-18 2010-09-14 Canon Kabushiki Kaisha Document printing control apparatus and method
WO2013069058A1 (en) * 2011-11-09 2013-05-16 三菱電機株式会社 Drawing device and drawing program

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6232987B1 (en) 1996-04-02 2001-05-15 Hyundai Electronics Industries Co., Ltd. Progressively renderable outline font and methods of generating, transmitting and rendering the same
US7797631B2 (en) 2002-09-18 2010-09-14 Canon Kabushiki Kaisha Document printing control apparatus and method
JP2007527029A (en) * 2004-01-26 2007-09-20 マイクロソフト コーポレーション Interactive resolution of constraints in font hinting languages
JP4783298B2 (en) * 2004-01-26 2011-09-28 マイクロソフト コーポレーション Method for iterative resolution of constraints in font hinting language and computer program thereof
JP2009116915A (en) * 2004-05-28 2009-05-28 Microsoft Corp Appropriately rendering for graphical object, when corresponding outline lacks control points
WO2013069058A1 (en) * 2011-11-09 2013-05-16 三菱電機株式会社 Drawing device and drawing program
CN104145303A (en) * 2011-11-09 2014-11-12 三菱电机株式会社 Drawing device and drawing program
JPWO2013069058A1 (en) * 2011-11-09 2015-04-02 三菱電機株式会社 Drawing apparatus and drawing program
US9305340B2 (en) 2011-11-09 2016-04-05 Mitsubishi Electric Corporation Drawing device and drawing program
CN104145303B (en) * 2011-11-09 2016-08-24 三菱电机株式会社 Plotting unit and drawing practice

Also Published As

Publication number Publication date
JP3224142B2 (en) 2001-10-29

Similar Documents

Publication Publication Date Title
US5796409A (en) Method for producing contrast-controlled grayscale characters
US5159668A (en) Method and apparatus for manipulating outlines in improving digital typeface on raster output devices
US5155805A (en) Method and apparatus for moving control points in displaying digital typeface on raster output devices
JP3072250B2 (en) Font rendering method using gray scale processing of grid fitted font
US7095411B2 (en) Methods and systems for hinting fonts
EP1741063B1 (en) Edge detection based stroke adjustment
EP1762983A2 (en) Glyph adjustment in high resolution raster while rendering
JP3119805B2 (en) Multi-tone data generator
KR100216614B1 (en) Character pattern generation device
JP2009520238A (en) Stroke contrast in font hinting
EP2710583A1 (en) Character display method and device
JPH08106276A (en) Display method of text on screen
US6614432B1 (en) Image rendering technique
US5489920A (en) Method for determining the optimum angle for displaying a line on raster output devices
JPH06208370A (en) Method for character display by raster by coupling aliasing suppression to lattice adaptation
JP3224142B2 (en) Hinting method
US20110273454A1 (en) System and method for displaying text
KR100361387B1 (en) Polygon drawing method and polygon drawing apparatus
JP3034140B2 (en) Character generation method and device
US7821515B2 (en) Method for automatic font character height restriction
Klassen Variable width splines: a possible font representation?
JP3039015B2 (en) Character processor
JPH0683313A (en) Contour correcting mehtod
JPH0392897A (en) Pattern generating device
JP3015075B2 (en) How to make a cutout mask

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080824

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080824

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090824

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090824

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 11