keiron      2002/11/20 01:55:49

  Modified:    src/documentation/content/xdocs/dev book.xml
  Added:       src/documentation/content/xdocs/dev fonts.xml
  Log:
  new dev fonts.xml file to store some useful links and information
  about font work
  Submitted By: Victor Mote <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.6       +1 -0      xml-fop/src/documentation/content/xdocs/dev/book.xml
  
  Index: book.xml
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/dev/book.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- book.xml  19 Nov 2002 07:57:29 -0000      1.5
  +++ book.xml  20 Nov 2002 09:55:49 -0000      1.6
  @@ -21,6 +21,7 @@
       </menu>
       <menu label="Extras">
         <menu-item label="SVG" href="svg.html"/>
  +      <menu-item label="Fonts" href="fonts.html"/>
       </menu>
       <menu label="Developers">
         <menu-item label="Design" href="../design/index.html"/>
  
  
  
  1.1                  xml-fop/src/documentation/content/xdocs/dev/fonts.xml
  
  Index: fonts.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  
  <!-- $Id: fonts.xml,v 1.1 2002/11/20 09:55:49 keiron Exp $ -->
  <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
      
"http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/schema/dtd/document-v11.dtd";>
  
  <document>
    <header>
      <title>Fonts (Developer Information)</title>
    </header>
    <body>
      <section>
        <title>Goals</title>
        <ul>
          <li>refactor existing font logic for better clarity and to reduce 
duplication</li>
          <li>parse registered font metric information on-the-fly (to make sure most 
up-to-date parsing is used??)</li>
          <li>resolve whether the FontBBox, StemV, and ItalicAngle font metric 
information is important or not -- if so, parse the .pfb file to extract it when 
building the FOP xml metric file</li>
          <li>handle fonts registered at the operating system (through AWT)</li>
          <li>add support for parsing OpenType fonts</li>
        </ul>
      </section>
      <section>
        <title>Issues</title>
        <ul>
          <li>Why are we using our own font metric parsing and registration system, 
instead of the AWT system provided as part of Java?
            <ul>
              <li>Answer 1: Many of our customers use FOP in a so-called "headless" 
server environment -- that is, the operating system is operating in character mode, 
with no concept of a graphical environment. We need some mechanism of allowing these 
environments to get font information.</li>
              <li>Answer 2: At some level, we don't yet fully trust AWT to handle 
fonts correctly. There are still unresolved discrepancies between the two systems.</li>
            </ul>
          </li>
        </ul>
      </section>
      <section>
        <title>Implementation</title>
        <p>There are two main font functions needed within FOP:</p>
        <ul>
          <li>provision of a font object to be used in layout</li>
          <li>embedding of a font file in output (such as PDF)</li>
        </ul>
        <p>For the first of these, we will implement something along the lines of a 
"Facade" Structural Pattern to hide the differences between the various font types and 
font sources from the rest of the system.
  Public classes will consist of TypeFaceFamily, TypeFace, and Font. (TypeFace roughly 
corresponds to the contents of a normal font file, while Font is a general typeface 
implemented at a specific point size, and perhaps with other specific parameters).
  When another part of FOP requests a font object, existing font objects will be 
checked first, and an appropriate one returned if possible.
  If not, the Font logic should resolve the TypeFace and TypeFaceFamily if possible, 
create a Font object, and return it.</p>
      </section>
      <section>
        <title>Resources</title>
        <section>
          <title>Type 1 Fonts</title>
          <ul>
            <li><link 
href="http://partners.adobe.com/asn/developer/pdfs/tn/T1_SPEC.PDF";>Adobe Type 1 Font 
Format</link></li>
            <li>According to the Adobe web site, the documentation for the font 
metrics files (.pfm = printer font metrics) is written and controlled by Microsoft, 
since it is actually a workaround to allow Type 1 fonts to be used on a GUI screen in 
Windows. However, the document does not appear to be on the Microsoft web site. The 
best resource for this information is <link 
href="http://partners.adobe.com/asn/developer/pdfs/tn/5178.PFM.pdf";>Adobe Technical 
Note #5178</link>: Building PFM Files for Postscript-Language CJK Fonts</li>
            <li>FOP does not currently use the Adobe Font Metrics file, but the 
specification can be found in <link 
href="http://partners.adobe.com/asn/developer/pdfs/tn/5004.AFM_Spec.pdf";>Adobe 
Technical Note #5004</link>: Adobe Font Metrics File Format Specification</li>
            <li><link 
href="http://partners.adobe.com/asn/developer/pdfs/tn/5040.Download_Fonts.pdf";>Adobe 
Technical Note #5040</link>: Supporting Downloadable Postscript Language Fonts may 
also include some useful information.</li>
          </ul>
        </section>
        <section>
          <title>TrueType Fonts</title>
          <ul>
            <li>The <link 
href="http://www.microsoft.com/typography/tt/ttf_spec/ttspec.zip";>TrueType 
specification</link></li>
          </ul>
        </section>
        <section>
          <title>OpenType Fonts</title>
          <ul>
            <li>The <link 
href="http://download.microsoft.com/download/Typography/archive/v1.4/WIN98MeXP/EN-US/otsp14.exe";>OpenType
 specification</link></li>
            <li>The Adobe <link 
href="http://www.adobe.com/type/opentype/main.html";>Introduction to OpenType 
fonts</link> page has some useful general information and links.</li>
          </ul>
        </section>
      </section>
    </body>
  </document>
  
  <!-- Last Line of $RCSfile: fonts.xml,v $ -->
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to