1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266
|
<HTML>
<HEAD>
<!-- Created with AOLpress/2.0 -->
<!-- AP: Created on: 11-Feb-2002 -->
<!-- AP: Last modified: 11-Dec-2005 -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<!--<TITLE>Building Accented and other Composite Characters</TITLE>-->
<TITLE>アクセントつき文字およびその他の複合文字を構築する方法</TITLE>
<LINK REL="icon" href="../../_static/fftype16.png">
<LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css">
</HEAD>
<BODY>
<DIV id="in">
<H1 ALIGN=Center>
<!-- Building Accented and other Composite Glyphs-->
アクセントつき文字およびその他の複合文字を構築する方法
</H1>
<P>
<!--
You can use the <KBD>Element->Build->Build Accented Glyph</KBD> command
to build up accented glyphs. Or you can use
<KBD>Element->Build->Build Composite </KBD>and build slightly more
general composite glyphs (ligatures and so forth). The accented version will
not create ligatures and will not replace Alpha with A. The composite version
will do both these things. My assumption is that ligatures (like the "fi"
ligature) usually need a bit of work on the user's part to get them to look
good, in the case of "fi" the dot on the "i" needs to be fused into the hook
of the "f", and if you are careless with the command you might destroy your
work inadvertently. -->
<CODE>エレメント(<U>L</U>)</CODE>→<CODE>組み立て(<U>U</U>)</CODE>→<CODE>アクセントつきグリフを構築(<U>B</U>)</CODE> コマンドを使って、アクセントつきグリフを組み立てることができます。または、<CODE>エレメント(<U>L</U>)</CODE>→<CODE>組み立て(<U>U</U>)</CODE>→<CODE>複合グリフを構築(<U>C</U>)</CODE> を使えば、わずかに一般的な (外字などを含む) 複合グリフの組み立てが行えます。「アクセントつき」の方は、合字の作成やアルファを A で代用するようなことは行えません。「複合グリフ」のほうは、そのどちらも行えます。私の見積もりでは、美しく見える合字 (“fi”合字のような) を作るためには一般的にユーザ側で行う必要のある作業がそれよりも少し多くなります。“fi”の場合、“i”のドットは“f”の先端と融合させる必要があり、このコマンドの使用時にうっかりしていると、すべての作業を不注意で壊してしまう可能性があります。
<P>
<!--
What can be built? -->
どのような物を組み立てられるか?
<UL>
<LI>
<!-- Unicode specifies various normative glyph decompositions. So "Aacute" is
defined to be an "A" with an "acute" accent centered on top. Any of these
can be built (though if the glyph contains no accents it will need to be
built with the build composite command).<BR> -->
Unicode では、多数の正規グリフ分解を仕様で定めています。例えば“Aacute”は“A”の上に“acute”アクセントを中央揃えで置いたものと定義されています。その種の文字はすべて組み立てることができます (ただし、グリフにアクセントが含まれていないときには <CODE>複合グリフを構築(<U>C</U>)</CODE> コマンドで組み立てる必要があります)。<BR>
<!-- Sometimes Unicode's normative definition is not as informative as it might
be (many of the greek accents are "unified" with latin accents that they
don't really look like, the result is that following Unicode slavishly will
yield the wrong glyph). So in some cases FontForge will use a slightly different
set of glyphs than the normative decomposition.<BR> -->
Unicode の正規分解の定義は、期待されるほど情報として役立たない場合があります (ギリシャ文字のアクセントの多くは形が全然違うラテン文字のアクセントと「統合」されているので、考えなしに Unicode に従うと間違ったグリフが出来上がります)。そのような場合は、FontForge は正規分解と少し異なるグリフの組合せを使用します。<BR>
<!-- This includes:-->
以下のような物が含まれています:
<UL>
<LI>
<!-- Latin accented characters -->
アクセントつきラテン文字
<LI>
<!-- Latin ligatures (ae, oe, fi, fl, etc) -->
ラテン文字の合字 (ae, oe, fi, fl など)
<LI>
<!-- Greek accented characters -->
アクセントつきギリシャ文字
<LI>
<!-- Cyrillic accented characters -->
アクセントつきキリル文字
<LI>
<!-- Hebrew ligatures -->
ヘブライ文字の合字
<LI>
<!-- Arabic ligatures -->
アラビア文字の合字
<LI>
<!-- Fractions, digits inside parens, roman numerals, etc. -->
分数、括弧つき数字、ローマ数字など
<LI>
<!-- The predefined Hangul characters (0xac00-0xdfaf) -->
完成型ハングル文字 (0xac00-0xdfaf)
</UL>
<LI>
<!-- Many of the Korean Jamo are actually ligatures of other Jamo (ssangkiyoeok
(0x1101) is composed of two kiyoeok (0x1100)). For some reason this information
is not normative unicode, but FontForge is aware of it anyway and will build
those glyphs if you ask it to. -->
ハングル字母(Jamo)の多くは実際には他の字母の合字です (ssangkiyeok (0x1101) は、2 個の kiyoeok (0x1100) の組合せからなります。いくつかの理由によりこの情報は Unicode の正規分解に含まれていませんが、FotnForge はこの事実を知っているので、適切な指示により、そのグリフを組み立てることができます。
<LI>
<!-- The glyphs "i" and "j" can be built by adding a dot accent to the dotlessi
and dotlessj glyphs -->
グリフ“i”と“j”は、dotlessi と dotlessj のグリフにドットアクセントを追加することによって組み立てることができます。
<LI>
<!-- The dotlessi and dotlessj glyphs can be built by removing the dot from an
"i" or "j" glyph -->
dotlessi と dotlessj のグリフは、“i”と“j”のグリフからドットを取り除くことによって組み立てることができます。
<LI>
<!-- FontForge knows a few other things. It knows that Greek "Alpha" and Cyrillic
A both look like the Latin "A" and will replace either if you ask. (as well
as all the other similar glyphs in latin, greek, cyrillic, cherokee, etc.) -->
FontForge はそれ以外にもいくばくかの事柄を知っています。ギリシャ文字の“アルファ”とキリル文字のАはどちらもラテン文字の“A”と同じ形をしていることを知っているので、指定すればどれか 1 つで他を置き換えることができます (ラテン、ギリシャ、キリル、チェロキーなどの用字系に含まれるその他の同形のグリフも同様です)。
<LI>
<!-- Some glyphs are just extremely simple to build. There are a whole slew of
glyphs which correspond to zero-width spaces. FontForge will build any of
them. More usefully it will build any of the fixed size spaces 0x2000-0x200f,
and the fixed sized rules 0x2010-0x2015). -->
いくつかのグリフは非常に簡単に組み立てることができます。幅ゼロのスペースに対応する文字がたくさんあります。FontForge はそのどれでも組み立てることができます。もっと役に立つ例としては、0x2000〜0x200f の固定幅のスペース と、0x2010〜0x2015 にある固定幅の罫線です。
<LI>
<!-- You may use the Element->Char Info dialog to define a ligature yourself,
and FontForge will build it for you. -->
<CODE>エレメント(<U>L</U>)</CODE>→<CODE>グリフ情報(<U>I</U>)...</CODE> を使って、自分で合字を定義すれば、FontForge はそれを組み立ててくれます。
<LI>
<!-- In Adobe's CID glyph sets there are some pre-rotated versions of latin glyphs.
When CJK text is written vertically the convention is that any text in western
alphabets should be displayed rotated 90º clockwise. If you apply Build
Accented Glyph to one of these slots it will find the appropriate latin letter
and rotate it properly.<BR>
If a glyph's name is "vertcid_<cid>" where <cid> is a decimal
number, then it is assumed to be a vertically rotated version of the glyph
at <cid>. In non-cid-keyed fonts, if a glyph's name is
"vertuni<uni>" where <uni> is a four digit hex number, then it
is assumed to be a vertically rotated version of that unicode glyph. -->
Adobe の CID グリフ集合の中には、あらかじめ回転済みの版のラテン文字がいくつか含まれています。CJK のテキストを縦書きするときには、西洋のアルファベットで書かれたすべてのテキストは時計回りに 90°回転する必要があります。これらのグリフ位置で <CODE>アクセントつきグリフを構築(<U>B</U>)</CODE> を適用すると、適当なラテン文字を見つけて、それを適切に回転します。<BR>
グリフ名が“vertcid_<cid;>”(ここで <cid;> は 10 進数) という形式のときは、そのグリフは <cid;> のグリフを縦書き用に回転した物であると見なされます。非 CID フォントでは、グリフ名が“vertuni<uni;>”(ここで <uni;> は 4 桁の 16 進数) の場合は、その Unicode グリフを縦書き用に回転した物であると見なされます。
</UL>
<P>
<!--
So for each selected glyph in the font view (or for the current glyph in
the outline view), and if all the base glyphs and accents needed by the glyph
have already been created then this command will delete anything that is
currently in the foreground and put a reference to the base glyph and another
reference to the accent glyph into the foreground. So if the current glyph
were "À" then a reference to "A" would be added to it, and a reference
to "`" would be centered above the "A". <BR>
If <A HREF="editmenu.html#From">Copy From</A> is set to All Fonts then any
bitmaps will have a similar process done (even in the outline glyph view). -->
それにより、フォントビュー上で選択した各グリフ (または、アウトラインビューの場合は現在のグリフ) に対して、そのグリフが必要とするすべての基底グリフとアクセントが既に作成されている場合に限り、このコマンドは前面に含まれる物をすべて削除し、その代わりに、基底グリフへの参照とアクセントつきグリフへの別の参照を前面に配置します。例えば現在のグリフが“À”である場合、“A”への参照がそのグリフに追加され、“`”への参照が“A”の上に中央揃えで配置されます。<BR>
もし <A HREF="editmenu.html#From"><CODE>コピー元の指定(<U>F</U>)</A></CODE> が <CODE>すべてのフォント(<U>A</U>)</CODE> に設定されている場合、各ビットマップにも同様の処理が施されます (アウトライングリフビューで実行した場合でもこれは同じです)。
<P>
<!--
Choosing accents can be a slightly tricky process. Unicode says that accented
letters should be built out of the accents in the range 0x300-0x340, but
this does not work too well in postscript. A Type1 font works better if the
accented glyph is in the Adobe Standard Encoding, which means either using
accents around 0x2d0 or ascii glyphs. FontForge will first attempt to find
an accent around 0x2d0, then in ascii and finally in the 0x300-0x340 range.
Even worse, Unicode unifies the greek and latin accents, so for greek letters
FontForge will look for accents around 0x1fbd (FontForge will also require
the presence of the double accents like 0x1fdd). -->
アクセントの選択では、わずかに込み入った処理が行われることがあります。Unicode は、アクセントつき文字は 0x300〜0x340 の範囲に含まれるアクセントから組み立てなければならないと定義していますが、PostScript ではこれはあまりうまく動作しません。Type1 フォントは、アクセントつきグリフが Adobe Standard Encoding に従って配置されているとき (つまり、0x2d0 付近のアクセントまたは ASCII のグリフを使用しているとき) のほうがうまく動作します。FontForge はまず 0x2d0 近くのアクセントを探そうとし、次に ASCII の中を探し、最後に 0x300〜0x340 の範囲を探します。更に悪いことに、Unicode はギリシャ文字とラテン文字のアクセントを統合しているので、ギリシャ文字に対しては FontForge は 0x1fbd 付近のアクセントを探します (FontForge は、その他にも 0x1fdd のような二重アクセントの存在を要求することがあります)。
<P>
<!--
Some of Adobe's fonts have accents designed for use over upper case letters
(the nomal accents are designed for lower case), and accents designed for
use over cyrillic letters. So in such a font, if you attempt to build "Agrave"
FontForge will build it out of "A" and "Grave" (or "grave.cap", not the standard
"grave"). -->
Adobe のフォントのいくつかは大文字用にデザインされたアクセント (通常のアクセントは小文字用にデザインされています) および、キリル文字用のアクセントを含んでいます。そのようなフォントにおいては、“Agrave”を組み立てようとした時、FontForge は“A”と (標準の“grave”ではなく)“Grave”(または“grave.cap”) からそれを組み立てます。
<P>
<!--
Not all accents should be centered above the base glyph, a cedilla is (usually)
centered underneath the base, while other accents need to be placed to the
left or right, or even overstruck. FontForge should know about proper placement
of most accents (or at least a rough approximation thereto). -->
すべてのアクセントが基底文字と中央揃えで配置されるわけではありません。セディラは (通常) 基底文字の下に中央揃えで置かれますが、他のアクセントは右か左に置く必要があったり、重ねて印字する場合すらあります。FontForge はほとんどのアクセントの正しい配置 (または、少なくともその粗い近似) を知っているはずです。
<P>
<!--
Some Unicode glyphs contain more than one accent. Additional accents will
be treated similarly. This command can also be used to generate more general
composite glyphs . -->
Unicode のグリフのいくつかは 2 つ以上のアクセントを含んでいます。追加のアクセントも同様に扱われるでしょう。このコマンドは、より一般的な複合グリフを生成するのに使うこともできます。
<P>
<!--
Some accents (for example cedilla) are treated unexpectedly on certain letters
(different ways in different languages), so be careful of g-cedilla. Å
often merges the ring into the top of the A, but here it will float above
it. <FONT COLOR="Red"><STRONG>Be alert</STRONG></FONT>. -->
ある種のアクセント (例えばセディラのような) は、いくつかの文字においては (言語によって扱いが異なった) 思いがけない扱いを受けますので、セディラつき g にはご注意ください。Å も、A の最上部とリングが融合するデザインはよく見られますが、ここでは上部に浮かんだ形となります。<FONT COLOR="Red"><STRONG>ご注意ください</STRONG></FONT>。
<P>
<!--
Placing an accent above a glyph is surprisingly tricky. Centered accents
(like grave, acute, etc.) should not really be placed in the exact center
of the glyph. For instance when placing an acute accent on top of an "a"
the accent should actually go above the highest part of the "a" which is
almost but not quite in the center of the glyph. And when placing an acute
on top of a "k" (a rare combination, but still used) the accent is centered
on the stem of the "k". Greek accents are even more baroque. FontForge knows
many oddities of accent placement, but it will never know all of them (some
letters have multiple forms depending on the font, or perhaps on the humidity
and phase of the moon). -->
アクセントをグリフの上部に配置する処理は驚くほど込み入っています。中央揃えのアクセント (グレーブアクセント、アキュートアクセントなど) はグリフのちょうど真中に配置してはならないからです。例えば、アキュートアクセントを“a”の上に置く時には、実際のアクセントの位置は“a”の最も高い部分 (グリフのほぼ中央ですが、正確な中心ではありません) の上に配置しなければなりません。また、“k”の上にアキュートアクセントを配置する場合 (めったに見ない組合せですが、実在します) 、アクセントは“k”のステムに中央揃えで配置されます。ギリシャ語のアクセントはそれよりはるかに複雑怪奇です。FontForge は特異なアクセント配置をたくさん知っていますが、すべてを知ることは永久に無いでしょう (複数の形が存在する文字がいくつかあり、それはフォントにより、またはおそらく湿度や月相により異なります)。
<TABLE BORDER CELLPADDING="2" ALIGN=Center>
<TR>
<TD><P ALIGN=Center>
<IMG src="../../_images/acenter.png" WIDTH="208" HEIGHT="281"><BR>
<!-- Center point of the glyph</TD>-->
グリフの中心点</TD>
<TD><P ALIGN=Center>
<IMG src="../../_images/ahighest.png" WIDTH="208" HEIGHT="281"><BR>
<!-- Highest point of the glyph</TD> -->
グリフの最も高い点</TD>
</TR>
</TABLE>
<P>
<!--
And how accents are centered depends on the accents themselves. Usually FontForge
will try to center an accent so that the accent's center is over the base
glyph's "center". But that doesn't always work either. The grave and acute
accents are usually (but not always) centered only on the bottom part of
the glyph. -->
さらに、アクセントの中央揃えの方法はアクセントそのものに依存します。FontForge は通常、アクセントの中央をグリフの「中央」に揃えようとしますが、これは常にうまく動くわけではありません。グレーブアクセントおよびアキュートアクセントは通常 (常にではありませんが) そのグリフの最下部のみが中央揃えの対象となります。
<TABLE BORDER CELLPADDING="2" ALIGN=Center>
<TR>
<TD><P ALIGN=Center>
<IMG src="../../_images/aacutemid.png" WIDTH="131" HEIGHT="228"><BR>
<!-- Midpoint of accent</TD>-->
アクセントの中点</TD>
<TD><P ALIGN=Center>
<IMG src="../../_images/aacutebase.png" WIDTH="132" HEIGHT="225"><BR>
<!-- Centered on base of accent</TD>-->
アクセントの最下部への中央揃え</TD>
</TR>
</TABLE>
<P>
<!--
FontForge gives you a minuscule amount of control over where it puts accents.
There are two preference items you can set
(<A HREF="filemenu.html#prefs">File->Preferences</A>) -->
FontForge は、アクセントをどこに置くかごくわずかな調整手段を与えています。(<A HREF="filemenu.html#prefs"><CODE>ファイル(<U>F</U>)</CODE>→<CODE>環境設定(<U>E</U>)</CODE></A> で) 設定可能な環境設定項目が 2 つ存在します。
<UL>
<LI>
<!-- AccentOffsetPercent - - This allows you to control the amount of space between
the top of the letter and the bottom of the accent (or the bottom of the
letter and the top of the accent for accents that sink under their letters).
This is expressed as a percentage of the em size and defaults to 6%. (In
some cases there will be a little bit more space above the accent than that.
All the accents from all the lower case letters should be at the same height,
but the letter "o" is usually slightly higher than the letter "u". So all
the lower case accents will be placed at the appropriate height for "o",
even those over "u". A similar trick is done for upper case letters). -->
AccentOffsetPercent — この項目で、文字の最上部とアクセントの最下部 (または、文字の下につくアクセントにおいては、文字の最下部とアクセントの最上部) の間に置く空きの量を調節することができます。これは em サイズに対する百分率で表され、デフォルトは 6% です。(いくつかの場合では、それよりもわずかに多い空きが置かれる場合があります。小文字の上につくアクセントはすべて同じ高さにある必要がありますが、文字“o”は文字“u”よりもわずかに高い位置に置かれるのが普通です。そういうわけで、小文字のアクセントはすべて“o”に合わせた高さに配置され、“u”につくアクセントでもその高さは変わりません。大文字の文字に対しても、同様のトリックが施されます。
<LI>
<!-- AcuteCenterBottom - - This controls whether acute and grave (and double acute
and grave) accents are centered on the entire glyph, or just on the bottom. -->
この項目は、アキュートアクセントおよびグレーブアクセント (また、ダブルアキュートとダブルグレーブも) がグリフ全体を基準として中央揃えするか、単に下端を中央とするかを制御します。
</UL>
<P>
<!--
<FONT COLOR="Red"><STRONG><SMALL>NOTE:</SMALL></STRONG></FONT> So FontForge
is going to do something wrong. There are just too many areas where I am
ignorant or my taste doesn't match yours or the program has a bug. I strongly
recommend that you examine all your accented glyphs after building them and
be prepared to adjust things. -->
<FONT COLOR="Red"><STRONG><SMALL>注意:</SMALL></STRONG></FONT> ここで FontForge は何か間違いを犯すに違いありません。私が知らない領域はあまりにたくさんありますし、私の趣味があなたのお気に召さない場合もありますし、プログラムにバグがある可能性もあります。アクセントつきの文字を作成したらそれらをすべて確かめ、まずい点があったら修正する心構えでいるように強く推奨します。
<P>
<!--
The algorithms take some account of the italicangle, but when working on
an italic (or oblique) font FontForge is even more likely to do something
you don't like. -->
アルゴリズムは italicangle の値にある程度影響を受けますが、イタリック (またはオブリーク) のフォントで作業をしている時は、FontForge はあなたの望むとおりに動作しない可能性がはるかに高くなります。
<P>
<!--
If all else fails you can build your own accented glyphs with
<A HREF="editmenu.html#Reference">Edit->Copy Reference</A> and
<A HREF="editmenu.html#Paste">Edit->Paste</A> -->
その他、何かうまくいかない点がある場合、自分で <A HREF="editmenu.html#Reference"><CODE>編集(<U>E</U>)</CODE>→<CODE>参照をコピー(<U>O</U>)</CODE></A> と <A HREF="editmenu.html#Paste"><CODE>編集(<U>E</U>)</CODE>→<CODE>貼り付け(<U>P</U>)</CODE></A> を使ってアクセントつきグリフを組み立てることができます。
<P>
<P ALIGN=Center>
— <A HREF="elementmenu.html"><CODE>エレメント(<U>L</U>)</CODE> メニュー</A> —
<A HREF="overview.html">目次</A> — <A HREF="editexample.html">チュートリアル</A>
—
</DIV>
</BODY></HTML>
|