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 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464
|
<HTML>
<HEAD>
<!-- Created with AOLpress/2.0 -->
<!-- AP: Created on: 29-Dec-2002 -->
<!-- AP: Last modified: 24-Feb-2009 -->
<TITLE>Char Info</TITLE>
<LINK REL="icon" href="ffanvil16.png">
<LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css">
</HEAD>
<BODY id="menued">
<P ALIGN=CENTER>
<IMG SRC="fontforge-banner-420.jpeg" WIDTH=420 HEIGHT=80>
<DIV class="menucontainer">
<UL class="menubar">
<LI class="menu">
<A href="/project/platformdownload.php?group_id=103338">Download</A>
<UL>
<LI>
<A href="http://sourceforge.net/project/showfiles.php?group_id=103338&package_id=111040"
>Application</A>
<LI>
<A href="http://sourceforge.net/project/showfiles.php?group_id=103338&package_id=114329"
>Documentation</A>
<LI>
<A href="http://sourceforge.net/project/showfiles.php?group_id=103338&package_id=114328"
>Source</A>
</UL>
<LI>
<A HREF="overview.html#TOC">Introduction</A>
<LI>
<A href="editexample.html">Tutorial</A>
<LI class="menu">
<A href="fontview.html">Windows</A>
<UL>
<LI>
<A href="fontview.html" >Font</A>
<LI>
<A href="charview.html" >Outline Glyph</A>
<LI>
<SMALL><A href="charview.html#Debugging" > Debugging
TrueType</A></SMALL>
<LI>
<SMALL><A href="multilayer.html" > Type3 Glyphs</A></SMALL>
<LI>
<A href="bitmapview.html" >Bitmap Glyph</A>
<LI>
<A href="metricsview.html" >Metrics</A>
</UL>
<LI class="menu">
<A href="fontinfo.html">Dialogs 1</A>
<UL>
<LI>
<A href="fontinfo.html" >Font Information</A>
<LI>
<SMALL><A href="histogram.html" > Histogram Dialog</A></SMALL>
<LI>
<A href="charinfo.html" >Glyph Information</A>
<LI>
<A href="getinfo.html" >Point, Reference Information</A>
<LI>
<A href="multilayer.html#Layer" >Type3 Layer Information</A>
<LI>
<A href="bdfinfo.html" >Bitmap Properties</A>
<LI>
<A href="baseline.html" >Baseline Information</A>
<LI>
<A HREF="justify.html">Justification Information</A>
<LI>
<A href="math.html" >Math Information</A>
<LI>
<A href="multiplemaster.html" >Multiple Master Information</A>
<LI>
<HR>
<LI>
<A href="lookups.html" >Lookups & subtables</A>
<LI>
<A href="metricsview.html#kernpair" >Kerning glyph pairs 1</A>
<LI>
<A href="kernpairs.html" >Kerning glyph pairs 2</A>
<LI>
<A href="metricsview.html#kernclass" >Kerning by classes</A>
<LI>
<A href="anchorcontrol.html" >Anchor Control</A>
<LI>
<A href="contextchain.html" >Contextual lookup dialog</A>
<LI>
<A href="statemachine.html" >Apple State Machine dialog</A>
<LI>
<A href="showatt.html" >Show Advanced Typography</A>
<LI>
<HR>
<LI>
<A href="problems.html" >Potential Problems dialog</A>
<LI>
<A href="validation.html" >Font Validation dialog</A>
</UL>
<LI class="menu">
<A href="generate.html">Dialogs 2</A>
<UL>
<LI>
<A href="filemenu.html#Open" >Open Fonts dialog</A>
<LI>
<A href="oflib.html" >Browsing OFLib dialog</A>
<LI>
<A href="generate.html" >Generate Fonts dialog</A>
<LI>
<A href="generate.html#Mac" >Generate Mac Family dialog</A>
<LI>
<HR>
<LI>
<A href="display.html" >Print & Display dialog</A>
<LI>
<A href="prefs.html" >Preferences dialog</A>
<LI>
<A href="groups.html" >Groups dialog</A>
<LI>
<HR>
<LI>
<A href="elementmenu.html#Bitmaps">Manage Bitmap Strikes</A>
<LI>
<A href="elementmenu.html#Regenerate">Re-Rasterize Bitmap Strikes</A>
<LI>
<HR>
<LI>
<A href="search.html" >Search & Replace dialog</A>
<LI>
<A href="Styles.html" >Style Transformation dialogs</A>
<LI>
<A href="transform.html" >Transformation dialog</A>
<LI>
<A href="elementmenu.html#Expand" >Expand Stroke dialog</A>
<LI>
<A href="tilepath.html" >Tile Path dialog</A>
<LI>
<A href="InsertTextDlg.html" >Insert Text dialog</A>
<LI>
<HR>
<LI>
<A href="metricsmenu.html#Width">Set width dialogs</A>
<LI>
<A href="metricsmenu.html#Width">Set left/right bearings</A>
<LI>
<A href="autowidth.html" >Auto Width & Kern dialogs</A>
<LI>
<HR>
<LI>
<A href="hintsmenu.html#Review" >Review PS Hints dialog</A>
<LI>
<A href="ttfinstrs.html" >TrueType Instruction Editor</A>
<LI>
<A href="ttfinstrs.html#cvt" >TrueType 'cvt ' Editor</A>
<LI>
<HR>
<LI>
<A href="selectbyatt.html" >Select by feature dialog</A>
<LI>
<A href="elementmenu.html#MassRename" >Rename Glyphs dialog</A>
<LI>
<A href="elementmenu.html#CompareFonts" >Compare Fonts dialog</A>
</UL>
<LI class="menu">
<A href="filemenu.html">Menus</A>
<UL>
<LI>
<A href="filemenu.html" >File</A>
<LI>
<A href="editmenu.html" >Edit</A>
<LI>
<A href="pointmenu.html" >Point</A>
<LI>
<A href="elementmenu.html">Element</A>
<LI>
<A href="toolsmenu.html">Tools</A>
<LI>
<A href="hintsmenu.html" >Hints</A>
<LI>
<A href="encodingmenu.html" >Encoding</A>
<LI>
<A href="viewmenu.html" >View</A>
<LI>
<A href="metricsmenu.html" >Metrics</A>
<LI>
<A href="cidmenu.html" >CID</A>
<LI>
<A href="mmmenu.html" >Multi Master</A>
<LI>
<A href="windowmenu.html" >Window</A>
<LI>
<A href="helpmenu.html" >Help</A>
</UL>
<LI>
<A href="faqFS.html">FAQ</A>
<LI>
<A href="IndexFS.html">Index</A>
<LI>
<A href="GlossaryFS.html">Glossary</A>
</UL>
</DIV>
<DIV id="in">
<H1 ALIGN=Center>
Glyph Info
</H1>
<H2>
<IMG SRC="charinfo.png" WIDTH="545" HEIGHT="508" ALIGN="Right">
<A NAME="Character">Glyph</A> Info
</H2>
<UL>
<LI>
<A HREF="charinfo.html#Unicode">Encoding and Unicode data</A>
<LI>
<A HREF="charinfo.html#comment">Glyph Comment</A>
<LI>
<A HREF="charinfo.html#position">Simple Glyph Positioning </A>(GPOS)
<LI>
<A HREF="charinfo.html#pairwise">Pair-wise Glyph Positioning (kerning)
</A>(GPOS)
<LI>
<A HREF="charinfo.html#substitution">Glyph Simple Substitution</A> (GSUB,
morx)
<LI>
<A HREF="charinfo.html#multiple">Glyph Alternate Substitution</A> (GSUB)
<LI>
<A HREF="charinfo.html#multiple">Glyph Multiple Substitution</A> (GSUB)
<LI>
<A HREF="charinfo.html#ligature">Glyph Ligature Substitution </A>(GSUB, morx)
<LI>
<A HREF="charinfo.html#components">Components</A>
<LI>
<A HREF="#CounterMasks">Counter Masks</A>
<LI>
<A HREF="#TeX">TeX & Math</A>
<LI>
<A HREF="#Variants">Variants</A>
<LI>
<A HREF="#TileSize">Tile Size</A>
</UL>
<P>
<A NAME="Unicode">This dialog </A>allows you to set the name and unicode
encoding of a given glyph. If you know the name of the glyph then FontForge
can tell you the encoding (if you press Set From Name), similarly if you
know the encoding then FontForge can tell you the name.
<P>
The name field contains a pull down list with (possibly) several synonyms
for the name of this unicode code point.
<P>
It is possible to have one glyph assigned to two unicode code points (This
is not recommended, but it is possible). If you wish to do this you may enter
additional unicode values in the "<CODE>Alternate Unicode</CODE>" area (set
the variation selector to 0).
<P>
Adobe has proposed an extension to OpenType to support unicode variation
selectors in the 'cmap' table (traditionally they have been done as ligatures
in the 'GSUB' table). If you wish to take advantage of this mechanism you
can also use the "<CODE>Alternate Unicode/Variation</CODE>" section to add
'cmap' data. If you wish the current glyph to be the default variation for
this font (the one that appears in the unicode encoding subtable), then set
the <CODE>Unicode Value</CODE> field above to the desired code point and
add an entry with the same code point and the appropriate variation selector
(as in the example above).
<P>
However if this glyph is not going to be the default glyph for this code
point, then set the <CODE>Unicode Value </CODE>field to -1, while entering
the appropriate code point and variation selector below.
<P>
The Glyph class field is for the opentype 'GDEF' table. You can usually leave
it set to automatic. FontForge will then figure out the class, and whether
it should be output into GDEF. You can see what FontForge does in
<A HREF="showatt.html">View->Show ATT</A>.
<P>
The <CODE>[] Mark for Unlink, Remove Overlap Before Save</CODE> checkbox
sounds absurdly complicated. Consider the glyphs Aring, Ccedilla, and Oogonek.
In traditional design the accent of each of these glyphs will overlap the
base letter. Unfortunately neither TrueType nor PostScript allows contours
to intersect. You can solve this problem by unlinking the references that
make up the glyph and then running Element->Remove Overlap. But that has
problems of its own... now when you change the base letter (or the accent)
the change will no longer be reflected in the composite glyph. This little
checkbox neatly solves that problem. If the glyph is composed of references
which overlap, and you wish to retain the references, but you wish it to
be output without an overlap, simply check this box. Then when it comes time
to save the font, ff will perform the unlink and then run remove overlap,
save the font, and then restore the glyph to its original
condition.<BR CLEAR=ALL>
<P>
<IMG SRC="charinfo-comment.png" WIDTH="307" HEIGHT="359" ALIGN="Right">You
can assign an arbitrary (unicode) <A NAME="comment">comment</A> to the glyph.
Simply type any text into this field. The comment is for your use, it will
not go into any generated fonts. You may also assign a color to a glyph to
make it stand out in the font view.<BR CLEAR=ALL>
<P>
<IMG SRC="charinfo-pos.png" WIDTH="359" HEIGHT="313" ALIGN="Right">There
are 6 separate sub-dialogs to help you edit the
<A NAME="features" HREF="lookups.html">lookups</A> of the
<A HREF="gposgsub.html">GPOS and GSUB</A> tables (some of these data can
be converted into various of Apple's AAT tables, particularly 'morx'). Lookups
and their subtables are described in some detail
<A HREF="overview.html#Lookups">here</A>, and may be manipulated and created
with the <A HREF="fontinfo.html#Lookups">Element->Font Info</A> commmand.
<P>
The first of sub-dialogs is the alternate <A NAME="position">position</A>
pane which allows you to associate certain modifications to a glyph's metrics
with a feature in the GPOS table.
<P>
In the example at right the first lookup subtable (which is associated with
the Scientific Inferiors feature) will move the y position of the glyph down
by 900 em-units, while the second subtable will move it down by 560 em-units.
Positioning subtables can also move glyphs horizontally and can adjust the
horizontal and vertical advances of the glyph. If you have configured FontForge
to support them you can also add device tables for pixel level corrections
to these adjustments. Most subtables will use only a few of the possibilities
open to them and FontForge generally hides unused columns -- but if you want
to see them just turn off [*] Hide Unused Columns.
<P>
A new entry in the list may be created by pressing the <New> button
and a popup menu will appear with all possible lookup subtables you could
add data to.
<P>
The <A NAME="pairwise">pairwise</A> positioning sub-dialog allows you to
change the positions of two glyphs when they occur next to one another --
better know as kerning. I think the <A HREF="metricsview.html">Metrics View
</A>provides a better place to do kerning, but you can do it here if you
wish.<BR Clear=Right>
<P>
<IMG SRC="charinfo-subs.png" WIDTH="474" HEIGHT="315" ALIGN="Right"> A simple
<A NAME="substitution">substitution</A> replaces one glyph with another.
Here the glyph "one" has a series of substitutions to various glyphs depending
on what lookup subtable is invoked.
<P>
The <A NAME="multiple">multiple</A> and alternate substitution sub-dialogs
are very similar to this one except that they can take multiple glyph names.
In a multiple substitution subtable each glyph is replaced by several other
glyphs (sort of the reverse of a ligature), while in the alternate substitution
sub-dialog each glyph is to be replaced by exactly one glyph from a list
and the user is to be given a choice as to which glyph is to be chosen.
<BLOCKQUOTE ID="lit">
<TABLE>
<TR VALIGN=BOTTOM>
<TD>"Hello Rabbit," he said, "is that you?"
<P>
"Let's pretend it isn't," said Rabbit, "and see what happens."</TD>
<TD>Winnie-The-Pooh<BR>
A. A. Milne, 1926</TD>
</TR>
</TABLE>
</BLOCKQUOTE>
<P>
<BR Clear=Right>
<P>
<IMG SRC="charinfo-lig.png" WIDTH="411" HEIGHT="312" ALIGN="Right"> The
<A NAME="ligature">ligature</A> pane allows you to tell FontForge that the
current glyph is a ligature composed of several other glyphs. FontForge will
sometimes be able to fill this in with the right default value, but not always.
The value should be a list of postscript glyph names separated by spaces.
If a glyph may be viewed as two different ligatures then they may both be
specified in different lines. For example "ffi" may be viewed as a ligature
of "f" "f" and "i" or of "ff" and "i".
<P>
<BR Clear=Right>
<P>
<IMG SRC="charinfo-counters.png" WIDTH="307" HEIGHT="409" ALIGN="Right">
In complicated Asian glyphs, postscript has a mechanism for controlling the
width of <A NAME="CounterMasks">counters</A> between stems. These are called
counter mask
hints<IMG SRC="newcountermask.png" WIDTH="282" HEIGHT="392" ALIGN="Left">.
In Latin, Cyrillic, Greek fonts only glyphs like "m" are allowed to have
counter masks, and only in very controlled conditions. See the description
of <A HREF="hinting.html#Counter">counter masks</A>.<BR CLEAR=ALL>
<P>
<IMG SRC="charinfo-counters.png" WIDTH="307" HEIGHT="409" ALIGN="Right">
Some <A NAME="components">glyphs</A> (ligatures, accented glyphs, Hangul
syllables, etc.) are built up out of other glyphs (at least according to
unicode). This pane of the dlg shows the components that Unicode says make
up the current glyph, if those components are in the font then you can use
FontForge's <KBD>Element->Build->Build Accented </KBD>or
<KBD>Element->Build->Build Composite</KBD> commands to create the current
glyph. The information displayed here is informative only, you may not change
this field directly (it changes when you change the unicode value or glyph
name associated with this glyph).<BR CLEAR=ALL>
<P>
<IMG SRC="charinfo-tex.png" ALIGN="Right" WIDTH="544" HEIGHT="364"> The
<A NAME="TeX">TeX</A> pane allows you to specify glyph specific information
used in TeX tmf files. The height and depth fields are often the same as
the glyph's bounding box (if you don't fill these in that's what fontforge
will use by default), but they should be corrected for optical distortion,
so in glyphs like "o" these fields should be clipped to the x-height and
baseline (ff will attempt to do this when you press <CODE>[Guess]</CODE>).
<P>
The Italic correction is used by both TeX and the new OpenType
<A HREF="math.html#Italic">MATH</A> table. In the MATH table you may also
specify a device table to correct rounding errors at small pixel sizes.
<P>
The Top Accent Position is another concept from the
<A HREF="math.html#TopAccent">MATH table</A> and provides a horizontal position
over which to position math accents (vertical positioning is done somewhere
else).
<P>
For extremely tall glyphs the normal mechanisms for positioning superscripts
are inappropriate and the <CODE>[] Is Extended Shape</CODE> checkbox alerts
the typesetter to this fact.
<P>
The [Math Kerning] button brings up the <A HREF="math.html#MathKern">Math
Kerning dialog</A> which gives you fine control over the placement of subscripts
and superscripts near the glyph.<BR CLEAR=ALL>
<H3>
<A NAME="Variants">Variants </A>
</H3>
<P>
<IMG SRC="charinfo-variants.png" WIDTH="545" HEIGHT="384" ALIGN="Right">There
are two panes for variants, one for glyphs that get longer horizontally and
one for glyphs that get longer vertically.
<P>
In mathmatical typesetting the size of a parenthesis will depend on the vertical
size of the formula within that parenthesis. As formulae can be arbetarily
complex they may be arbetarily tall, so there needs to be a way of making
arbetarily big parentheses. This pane provides two mechanisms.
<P>
At the top you may specify a list of prebuilt glyphs each a little bigger
than the one before.
<P>
Underneath you may specify a way of building really big parentheses by combining
several component glyphs. See the description of this in the
<A HREF="math.html#GlyphConstruction">MATH Info dialog </A>for more
details.<BR CLEAR="ALL">
<H3>
<A NAME="TileSize"><IMG SRC="charinfo-tilesize.png" WIDTH="445" HEIGHT="374"
ALIGN="Right">Tile Size</A>
</H3>
<P>
This only applies when editing type3 fonts. Even then it is only meaningful
if the current glyph is used as a
<A HREF="multilayer.html#Patterns">pattern</A> in some other glyph.
<P>
When a glyph is used as a pattern, the size of the pattern tile defaults
to the bounding box of the glyph used. This means there will be no whitespace
around the tile. Sometimes that is desireable (if the tiles are to looks
as though they touch), sometimes it is not. This provides control over the
whitespace that surrounds the drawn region of the tile.
<P>
You can specify that you want a constant margin of white space around all
edges of the tile, or you can specify explicitly the coordinates of the
tile.<BR CLEAR="ALL">
<P>
The Next and Prev buttons allow you to move from one glyph to the next (if,
for example, you need to enter encodings for a range of glyphs).
<P>
The Done (or Cancel) button only Cancels work in the current glyph. If you
have already used Next or Prev then those earlier changes will not be
cancelled.<BR Clear=Right>
<BR CLEAR=ALL>
<P>
See Also:
<UL>
<LI>
<A HREF="fontinfo.html">The font info dialog</A>
<LI>
<A HREF="getinfo.html">The get info dialogs</A>
<LI>
<A HREF="math.html">The MATH info dialog</A>
</UL>
<P ALIGN=Center>
-- <A HREF="elementmenu.html">Prev</A> -- <A HREF="overview.html">TOC</A>
-- <A HREF="elementmenu.html">Next</A> --
</DIV>
</BODY></HTML>
|