diff options
-rw-r--r-- | htdocs/editexample.html | 4 | ||||
-rw-r--r-- | htdocs/editexample2.html | 4 | ||||
-rw-r--r-- | htdocs/editexample3.html | 4 | ||||
-rw-r--r-- | htdocs/editexample4.html | 4 | ||||
-rw-r--r-- | htdocs/editexample5.html | 4 | ||||
-rwxr-xr-x | htdocs/editexample6-5.html | 4 | ||||
-rw-r--r-- | htdocs/editexample6.html | 4 | ||||
-rw-r--r-- | htdocs/editexample7.html | 21 | ||||
-rwxr-xr-x | htdocs/editexample8.html | 245 |
9 files changed, 279 insertions, 15 deletions
diff --git a/htdocs/editexample.html b/htdocs/editexample.html index 4699799d..246b60f5 100644 --- a/htdocs/editexample.html +++ b/htdocs/editexample.html @@ -2,7 +2,7 @@ <HEAD> <!-- Created with AOLpress/2.0 --> <!-- AP: Created on: 6-Dec-2000 --> - <!-- AP: Last modified: 3-Jul-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> <TITLE>Steps to creating a font...</TITLE> <LINK REL="icon" href="ffanvil16.png"> <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> @@ -68,6 +68,8 @@ <LI> <A HREF="editexample7.html#summary">Final Summary</A> <LI> + <A HREF="editexample8.html">Bitmap strikes</A> + <LI> <A HREF="scripting-tutorial.html">Scripting Tutorial</A> <LI> <A HREF="scriptnotes.html#Special">Notes on various scripts</A> diff --git a/htdocs/editexample2.html b/htdocs/editexample2.html index 5a9c8dd3..0e8cfd00 100644 --- a/htdocs/editexample2.html +++ b/htdocs/editexample2.html @@ -2,7 +2,7 @@ <HEAD> <!-- Created with AOLpress/2.0 --> <!-- AP: Created on: 27-Jan-2003 --> - <!-- AP: Last modified: 21-Apr-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> <TITLE>Creating the letter "o" -- consistant directions</TITLE> <LINK REL="icon" href="ffanvil16.png"> <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> @@ -48,6 +48,8 @@ <LI> <A HREF="editexample7.html#summary">Final Summary</A> <LI> + <A HREF="editexample8.html">Bitmap strikes</A> + <LI> <A HREF="scripting-tutorial.html">Scripting Tutorial</A> <LI> <A HREF="scriptnotes.html#Special">Notes on various scripts</A> diff --git a/htdocs/editexample3.html b/htdocs/editexample3.html index 9b6ea5f5..14fdb0db 100644 --- a/htdocs/editexample3.html +++ b/htdocs/editexample3.html @@ -2,7 +2,7 @@ <HEAD> <!-- Created with AOLpress/2.0 --> <!-- AP: Created on: 27-Jan-2003 --> - <!-- AP: Last modified: 21-Apr-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> <TITLE>Consistent serifs and stem widths</TITLE> <LINK REL="icon" href="ffanvil16.png"> <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> @@ -48,6 +48,8 @@ <LI> <A HREF="editexample7.html#summary">Final Summary</A> <LI> + <A HREF="editexample8.html">Bitmap strikes</A> + <LI> <A HREF="scripting-tutorial.html">Scripting Tutorial</A> <LI> <A HREF="scriptnotes.html#Special">Notes on various scripts</A> diff --git a/htdocs/editexample4.html b/htdocs/editexample4.html index 31fa2fab..73aec9ea 100644 --- a/htdocs/editexample4.html +++ b/htdocs/editexample4.html @@ -2,7 +2,7 @@ <HEAD> <!-- Created with AOLpress/2.0 --> <!-- AP: Created on: 27-Jan-2003 --> - <!-- AP: Last modified: 21-Apr-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> <TITLE>Building accented glyphs</TITLE> <LINK REL="icon" href="ffanvil16.png"> <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> @@ -48,6 +48,8 @@ <LI> <A HREF="editexample7.html#summary">Final Summary</A> <LI> + <A HREF="editexample8.html">Bitmap strikes</A> + <LI> <A HREF="scripting-tutorial.html">Scripting Tutorial</A> <LI> <A HREF="scriptnotes.html#Special">Notes on various scripts</A> diff --git a/htdocs/editexample5.html b/htdocs/editexample5.html index daf40362..722bd23b 100644 --- a/htdocs/editexample5.html +++ b/htdocs/editexample5.html @@ -2,7 +2,7 @@ <HEAD> <!-- Created with AOLpress/2.0 --> <!-- AP: Created on: 27-Jan-2003 --> - <!-- AP: Last modified: 21-Apr-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> <TITLE>Examining and controling metrics and kerning</TITLE> <LINK REL="icon" href="ffanvil16.png"> <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> @@ -55,6 +55,8 @@ <LI> <A HREF="editexample7.html#summary">Final Summary</A> <LI> + <A HREF="editexample8.html">Bitmap strikes</A> + <LI> <A HREF="scripting-tutorial.html">Scripting Tutorial</A> <LI> <A HREF="scriptnotes.html#Special">Notes on various scripts</A> diff --git a/htdocs/editexample6-5.html b/htdocs/editexample6-5.html index 8b12fb83..4f9b72e5 100755 --- a/htdocs/editexample6-5.html +++ b/htdocs/editexample6-5.html @@ -2,7 +2,7 @@ <HEAD> <!-- Created with AOLpress/2.0 --> <!-- AP: Created on: 21-Mar-2005 --> - <!-- AP: Last modified: 8-Dec-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> <TITLE>Contextual features</TITLE> <LINK REL="icon" href="ffanvil16.png"> <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> @@ -58,6 +58,8 @@ <LI> <A HREF="editexample7.html#summary">Final Summary</A> <LI> + <A HREF="editexample8.html">Bitmap strikes</A> + <LI> <A HREF="scripting-tutorial.html">Scripting Tutorial</A> <LI> <A HREF="scriptnotes.html#Special">Notes on various scripts</A> diff --git a/htdocs/editexample6.html b/htdocs/editexample6.html index 8a8b3b5d..e0384891 100644 --- a/htdocs/editexample6.html +++ b/htdocs/editexample6.html @@ -2,7 +2,7 @@ <HEAD> <!-- Created with AOLpress/2.0 --> <!-- AP: Created on: 27-Jan-2003 --> - <!-- AP: Last modified: 21-Apr-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> <TITLE>More advanced features, ligatures, mark positioning, glyph variants</TITLE> <LINK REL="icon" href="ffanvil16.png"> <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> @@ -52,6 +52,8 @@ <LI> <A HREF="editexample7.html#summary">Final Summary</A> <LI> + <A HREF="editexample8.html">Bitmap strikes</A> + <LI> <A HREF="scripting-tutorial.html">Scripting Tutorial</A> <LI> <A HREF="scriptnotes.html#Special">Notes on various scripts</A> diff --git a/htdocs/editexample7.html b/htdocs/editexample7.html index 8f528989..6163a029 100644 --- a/htdocs/editexample7.html +++ b/htdocs/editexample7.html @@ -2,7 +2,7 @@ <HEAD> <!-- Created with AOLpress/2.0 --> <!-- AP: Created on: 27-Jan-2003 --> - <!-- AP: Last modified: 21-Apr-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> <TITLE>Final cleanup</TITLE> <LINK REL="icon" href="ffanvil16.png"> <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> @@ -50,6 +50,8 @@ <LI> <A HREF="editexample7.html#summary">Final Summary</A> <LI> + <A HREF="editexample8.html">Bitmap strikes</A> + <LI> <A HREF="scripting-tutorial.html">Scripting Tutorial</A> <LI> <A HREF="scriptnotes.html#Special">Notes on various scripts</A> @@ -90,16 +92,19 @@ <A NAME="Bitmaps">Bitmaps</A> </H2> <P> - At this point you might want some bitmaps to go with the postscript (this - is not compulsory). Go to <CODE>Element->Bitmaps Available</CODE> and - select the pixel sizes you want bitmaps in (Note, that on X and MS windows + At this point you might want some bitmaps to go with the outline font (this + is not compulsory). Go to <CODE>Element->Bitmap Strikes Available</CODE> + and select the pixel sizes you want bitmaps in (Note, that on X and MS windows pixel sizes often do not correspond exactly to point sizes. You can then - use the bitmap editor (<CODE>Window->Open Bitmap</CODE>) to clean up the - bitmaps, or you can generate your bitmap fonts and then - <A HREF="http://clr.nmsu.edu/~mleisher/download.html">use someone else's - bitmap editor to clean them up</A>. + use the bitmap editor (<CODE><A HREF="bitmapview.html">Window->Open + Bitmap</A></CODE>) to clean up the bitmaps, or you can generate your bitmap + fonts and then <A HREF="http://clr.nmsu.edu/~mleisher/download.html">use + someone else's bitmap editor to clean them up</A>. <P> <IMG SRC="BitmapView.png" WIDTH="254" HEIGHT="273"> + <P> + Bitmaps are discussed in more detail in the <A HREF="editexample8.html">next + section.</A> <H2> <A NAME="generating">Generating</A> a font </H2> diff --git a/htdocs/editexample8.html b/htdocs/editexample8.html new file mode 100755 index 00000000..cf337e5e --- /dev/null +++ b/htdocs/editexample8.html @@ -0,0 +1,245 @@ +<HTML> +<HEAD> + <!-- Created with AOLpress/2.0 --> + <!-- AP: Created on: 13-Dec-2006 --> + <!-- AP: Last modified: 14-Dec-2006 --> + <TITLE>Bitmap strikes</TITLE> + <LINK REL="icon" href="ffanvil16.png"> + <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css"> +</HEAD> +<BODY> +<DIV id="in"> + <H1 ALIGN=Center> + Tutorial #9 + </H1> + <UL> + <LI> + <A HREF="editexample.html#FontCreate">Font Creation</A> + <LI> + <A HREF="editexample.html#CharCreate">Creating a glyph (tracing outlines)</A> + <LI> + <A HREF="editexample2.html#Navigating">Navigating to other glyphs</A> + <LI> + <A HREF="editexample2.html#Creating-o">On to the next glyph (consistent + directions)</A> + <LI> + <A HREF="editexample3.html#consistent-stems">Consistent serifs and stem + widths</A> + <LI> + <A HREF="editexample4.html#accents">Building accented glyphs</A> + <LI> + <A HREF="editexample4.html#ligature">Building a ligature</A> + <LI> + <A HREF="editexample5.html#metrics">Examining metrics</A> + <LI> + <A HREF="editexample5.html#Kerning">Kerning</A> + <LI> + <A HREF="editexample6.html#Variants">Glyph variants</A> + <LI> + <A HREF="editexample6.html#Marks">Anchoring marks</A> + <LI> + <A HREF="editexample6-5.html#Conditional">Conditional features</A> + <LI> + <A HREF="editexample7.html#checking">Checking your font</A> + <LI> + <A HREF="editexample7.html#Bitmaps">Bitmaps</A> + <LI> + <A HREF="editexample7.html#generating">Generating it</A> + <LI> + <A HREF="editexample7.html#Families">Font Families</A> + <LI> + <A HREF="editexample7.html#summary">Final Summary</A> + <LI> + <A HREF="#Opening">Opening & Importing Bitmap strikes</A> + <LI> + <A HREF="editexample8.html#Creating">Creating Bitmap Strikes</A> + <LI> + <A HREF="editexample8.html#Properties">Bitmap Properties</A> + <LI> + <A HREF="editexample8.html#bitmap-only">Creating a bitmap only font</A> + <LI> + <A HREF="editexample8.html#FontView">Bitmaps in the Font View</A> + <LI> + <A HREF="editexample8.html#Editing">Editing Bitmaps</A> + <LI> + <A HREF="editexample8.html#Sparse">Sparse Bitmap Strikes</A> + <LI> + <A HREF="scripting-tutorial.html">Scripting Tutorial</A> + <LI> + <A HREF="scriptnotes.html#Special">Notes on various scripts</A> + </UL> + <H2> + <A NAME="Opening">Opening</A> & Importing Bitmap strikes + </H2> + <P> + FontForge is primarily an outline font editor, but it does have some facility + for editing bitmap (and greymap, or anti-aliased) fonts. A useful term here + is a "strike"; a strike is one particular size of a bitmap font. When FontForge + displays a font, that font will contain at most one outline but potentially + many bitmap (or greymap) strikes (for several different pixel sizes). + <P> + You might wonder if it is really necessary to provide bitmaps along with + outlines given the high quality results of modern rasterizers, and for Latin + (Greek, Cyrillic) fonts it may not be, but for CJK fonts at small pixel sizes + a human eye can still make a better choice than even the best rasterizer. + Back in the 1980s when Apple first adopted PostScript fonts they felt it + was essential to have bitmaps to go with the outline -- so much so that it + was not even possible to use a PostScript font without also providing at + least one bitmap with it. Even today, when using a Type1 font on a mac there + must be a bitmap font to point to it. + <P> + Of course Type1 fonts are a bit old-fashioned now, but the sfnt file format + (the format used for both OpenType and TrueType fonts) supports embedded + bitmap strikes along with the outline version of the font. These strikes + will be used in preference to rasterizing the outline in any pixel sizes + for which they are present. + <P> + If you have an sfnt with both an outline font and bitmap strikes you can + open it directly with the <A HREF="filemenu.html#Open">File->Open</A> + command and FontForge will load all the bits and pieces. + <P> + You can also open a bitmap only font directly with the + <A HREF="filemenu.html#Open">File->Open</A> command, however if you have + multiple strikes of the same underlying font in seperate files, you will + probably want to open only the first (or only the outline version) with Open, + and use <A HREF="filemenu.html#Import">File->Import</A> to merge the other + strikes into one FontForge font. + <P> + Suppose you have <CODE>Ambrosia.pfb</CODE> (an outline font), + <CODE>Ambrosia-12.bdf</CODE>, and <CODE>Ambrosia-24.bdf </CODE>(two bitmap + strikes, one 12 pixels high, one 24), and you want them all in one font. + First use <A HREF="filemenu.html#Open">File->Open</A> to open Ambrosia.pfb, + then <A HREF="filemenu.html#Import">File->Import</A> and select both of + the bitmap strikes (hold down the shift key). + <P> + On the other hand, if you have only two bitmaps: + <CODE>Ambrosia-12.bdf</CODE>, and <CODE>Ambrosia-24.bdf</CODE>, then use + <A HREF="filemenu.html#Open">File->Open</A> to open either strike, and + use <A HREF="filemenu.html#Import">File->Import</A> and import the other. + <P> + You may have noticed that Import has a checkbox labeled <CODE>[] As + Background</CODE>. If you check this, then your bitmap font will not be loaded + as a font itself, but will be loaded into the background of the outline font + whence you can + <CODE><A HREF="elementmenu.html#AutoTrace">Element->Autotrace</A></CODE> + it to provide an outline font from a bitmap. Be warned: This produces fairly + bad results unless you have a large (100+ pixel) font to trace. + <H2> + <A NAME="Creating">Creating</A> Bitmap strikes + </H2> + <P> + <IMG SRC="bitmapsavail.png" WIDTH="317" HEIGHT="365" ALIGN="Right">If you + want to add a bitmap strike with a given pixel size to a font then use + <CODE><A HREF="elementmenu.html#Bitmaps">Element->Bitmap Strikes + Available</A></CODE>. Simply add the pixel size you are interested in to + the list at the bottom of the screen. + <P> + If you are more comfortable dealing in point sizes, be aware that those depend + on screen resolution. This dialog shows you the conversion between point + and pixel sizes for two standard resolutions. The resolutions differ depending + on what windowing system you use. + <P> + You may add more than one pixel size, of course. You may also remove pixel + sizes if you no longer want them. + <P> + Normally when you create a new strike it will be rasterized from the outline + font -- if there is no outline font then FontForge will attempt to scale + the biggest strike available to the new size (in most cases this will be + fairly ugly, but it may be better than nothing. + <P> + There is also a checkbox <CODE>[*] Create Rasterized Strikes (Not empty + ones)</CODE> at the bottom of the dialog. If you turn this off, then the + rasterization process described above will not happen, and any new strikes + will be created containing no glyphs (you can add glyphs later, of course). + <H2> + Bitmap <A NAME="Properties">Properties</A> + </H2> + <P> + In the old days of bdf and pcf fonts on X11 each font had a set of properties + attached to it. It is not clear to me whether these properties are still + useful as X11 moves to OpenType Bitmaps. They may be. At any rate FontForge + will store them both in BDF fonts and in OpenType Bitmap fonts. Each strike + may have its own set of properties. FontForge will generate them automatically + when you create a strike (and will retain them when it reads in a font that + has them). You may override the current values with the + <A HREF="elementmenu.html#BDF-Info"><CODE>Element-Bdf Info </CODE></A>dialog. + <H2> + Creating a new bitmap <A NAME="bitmap-only">only</A> font + </H2> + <P> + If you want to create a new font with no outlines, only bitmap strikes, you + would use <A HREF="filemenu.html#New">File->New</A> to create a new font, + and then <CODE><A HREF="elementmenu.html#Bitmaps">Element->Bitmap Strikes + Available</A></CODE> to add some (empty) strikes to it. As soon as you add + a strike to a new font, the font will become a bitmap only font. + <P> + Apple has a bitmap only version of the sfnt file format, and X11 does too. + Of course the two formats are slightly different. Windows has no support + for a bitmap only sfnt format. + <H2> + Bitmaps in the <A NAME="FontView">Font View</A> + </H2> + <P> + The <A HREF="viewmenu.html#bitmaps"><CODE>View</CODE></A> menu of the Font + View (and the Metrics View) contains a list of all bitmap strikes in the + font. You may select which one will be displayed in the Font View. You may + also change the magnification at which a strike is displayed with + <A HREF="viewmenu.html#BitmapMag">View->Bitmap Magnification...</A> (it + can be hard to see the details of an 8 pixel font on a high resolution screen, + so you might want to display it at 3 times it's actual size). + <P> + Many commands in the Font View will apply to all strikes (and the outline) + in the font. For instance + <A HREF="editmenu.html#Copy"><CODE>Edit->Copy</CODE></A> will copy the + outline glyph and all bitmap glyphs. Sometimes you only want to affect one + strike, if so then deselect + <A HREF="editmenu.html#Fonts"><CODE>Edit->Copy From->All + Fonts</CODE></A>. + <P> + The <A HREF="elementmenu.html#Accented"><CODE>Element->Build</CODE> + </A>commands will build accented bitmap glyphs just as it builds accented + outline glyphs. + <P> + If the Font View is displaying a bitmap strike and you double click on a + character, then FontForge will bring up a <A HREF="bitmapview.html">bitmap + editing window</A> displaying that character in the current strike (rather + than opening an outline editing window). If the character does not have a + matching glyph in the current strike FontForge will create one by rasterizing + the outline version of the font. + <H2> + <A NAME="Editing">Editing</A> Bitmaps + </H2> + <P> + <IMG SRC="BitmapView.png" WIDTH="254" HEIGHT="273" ALIGN="Left">The bitmap + editing window should be fairly self explanatory. The window is a simple + bitmap editor. With the pencil tool, clicking on a pixel will make it change. + The line tool will draw a straight line between the start and end points. + <P> + You can see the outline glyph in the background of the bitmap. + <P> + You can regenerate the bitmap (by rasterizing the outline) by pressing the + <CODE>[Recalculate Bitmaps] </CODE>button. + <P> + Editing an anti-aliased greymap has the added complexity that you need to + select a color (actually a level of greyness) to be applied with the pencil. + There will be an additional palette with all possible greys for + this.<BR CLEAR=ALL> + <H2> + <A NAME="Sparse">Sparse</A> Bitmap Strikes + </H2> + <P> + Sometimes you don't need a complete set of bitmap glyphs in a strike. Perhaps + the rasterizer does a good job for all glyphs except one. Then you can create + an empty strike (with + <CODE><A HREF="elementmenu.html#Bitmaps">Element->Bitmap Strikes + Available</A></CODE> unchecking the <CODE>[*] Create Rasterized Strikes</CODE> + checkbox) and then select the one glyph you care about and say + <A HREF="elementmenu.html#Regenerate"><CODE>Element->Regenerate Bitmap + Glyphs</CODE></A>. + <P> + Alternately you could create a fully rasterized strike and then select the + glyphs you don't need and say + <CODE><A HREF="elementmenu.html#RemoveBitmaps">Element->Remove Bitmap + Glyphs</A></CODE>. +</DIV> +</BODY></HTML> |