diff options
author | Keiron Liddle <keiron@apache.org> | 2002-11-20 09:55:49 +0000 |
---|---|---|
committer | Keiron Liddle <keiron@apache.org> | 2002-11-20 09:55:49 +0000 |
commit | 8c66a2d30614dc01819f689569e12b9d2c7a8015 (patch) | |
tree | 4749174740ca66e4b885e09dc6893c7615d6205e /src | |
parent | d8c2b20f0c11546b396db4d32d5dedb554e617d9 (diff) | |
download | xmlgraphics-fop-8c66a2d30614dc01819f689569e12b9d2c7a8015.tar.gz xmlgraphics-fop-8c66a2d30614dc01819f689569e12b9d2c7a8015.zip |
new dev fonts.xml file to store some useful links and information
about font work
Submitted By: Victor Mote <vic@outfitr.com>
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195572 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r-- | src/documentation/content/xdocs/dev/book.xml | 1 | ||||
-rw-r--r-- | src/documentation/content/xdocs/dev/fonts.xml | 73 |
2 files changed, 74 insertions, 0 deletions
diff --git a/src/documentation/content/xdocs/dev/book.xml b/src/documentation/content/xdocs/dev/book.xml index 7d4a73c43..74e016c4d 100644 --- a/src/documentation/content/xdocs/dev/book.xml +++ b/src/documentation/content/xdocs/dev/book.xml @@ -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"/> diff --git a/src/documentation/content/xdocs/dev/fonts.xml b/src/documentation/content/xdocs/dev/fonts.xml new file mode 100644 index 000000000..48207d7bd --- /dev/null +++ b/src/documentation/content/xdocs/dev/fonts.xml @@ -0,0 +1,73 @@ +<?xml version="1.0" standalone="no"?> + +<!-- $Id$ --> +<!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$ --> |