~oif-team/ubuntu/natty/qt4-x11/xi2.1

« back to all changes in this revision

Viewing changes to src/3rdparty/freetype/src/pcf/readme

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-08-24 04:09:09 UTC
  • Revision ID: james.westby@ubuntu.com-20050824040909-xmxe9jfr4a0w5671
Tags: upstream-4.0.0
ImportĀ upstreamĀ versionĀ 4.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
                  FreeType font driver for PCF fonts
 
2
 
 
3
                       Francesco Zappa Nardelli
 
4
                  <francesco.zappa.nardelli@ens.fr>
 
5
 
 
6
 
 
7
Introduction
 
8
************
 
9
 
 
10
PCF (Portable Compiled Format) is a binary bitmap font format, largely used
 
11
in X world. This code implements a PCF driver for the FreeType library.
 
12
Glyph images are loaded into memory only on demand, thus leading to a small
 
13
memory footprint.
 
14
 
 
15
Informations on the PCF font format can only be worked out from
 
16
``pcfread.c'', and ``pcfwrite.c'', to be found, for instance, in the XFree86
 
17
(www.xfree86.org) source tree (xc/lib/font/bitmap/).
 
18
 
 
19
Many good bitmap fonts in bdf format come with XFree86: they can be
 
20
compiled into the pcf format using the ``bdftopcf'' utility.
 
21
 
 
22
 
 
23
Supported hardware
 
24
******************
 
25
 
 
26
The driver has been tested on linux/x86 and sunos5.5/sparc.  In both
 
27
cases the compiler was gcc.  When back in Paris, I will test it also
 
28
on linux/alpha.
 
29
 
 
30
 
 
31
Encodings
 
32
*********
 
33
 
 
34
The variety of encodings that accompanies pcf fonts appears to encompass the
 
35
small set defined in freetype.h.  On the other hand, each pcf font defines
 
36
two properties that specify encoding and registry.
 
37
 
 
38
I decided to make these two properties directly accessible, leaving to the
 
39
client application the work of interpreting them.  For instance:
 
40
 
 
41
  #include "pcftypes.h"  /* include/freetype/internal/pcftypes.h */
 
42
 
 
43
  FT_Face     face;
 
44
  PCF_Public_Face  pcfface;
 
45
 
 
46
  FT_New_Face( library,..., &face );
 
47
 
 
48
  pcfface = (PCF_Public_Face)face;
 
49
  
 
50
  if ((pcfface->charset_registry == "ISO10646") && 
 
51
        (pcfface->charset_encoding) == "1")) [..]
 
52
 
 
53
Thus the driver always export ``ft_encoding_none'' as
 
54
face->charmap.encoding.  FT_Get_Char_Index() behavior is unmodified, that
 
55
is, it converts the ULong value given as argument into the corresponding
 
56
glyph number.
 
57
 
 
58
 
 
59
Known problems
 
60
**************
 
61
 
 
62
- dealing explicitly with encodings breaks the uniformity of freetype2
 
63
  api.
 
64
 
 
65
- except for encodings properties, client applications have no
 
66
  visibility of the PCF_Face object.  This means that applications
 
67
  cannot directly access font tables and are obliged to trust
 
68
  FreeType.
 
69
 
 
70
- currently, glyph names and ink_metrics are ignored.
 
71
 
 
72
I plan to give full visibility of the PCF_Face object in the next
 
73
release of the driver, thus implementing also glyph names and
 
74
ink_metrics.
 
75
 
 
76
- height is defined as (ascent - descent).  Is this correct?
 
77
 
 
78
- if unable to read size informations from the font, PCF_Init_Face
 
79
  sets available_size->width and available_size->height to 12.
 
80
 
 
81
- too many english grammar errors in the readme file :-(
 
82
 
 
83
 
 
84
License
 
85
*******
 
86
 
 
87
Copyright (C) 2000 by Francesco Zappa Nardelli
 
88
 
 
89
Permission is hereby granted, free of charge, to any person obtaining
 
90
a copy of this software and associated documentation files (the
 
91
"Software"), to deal in the Software without restriction, including
 
92
without limitation the rights to use, copy, modify, merge, publish,
 
93
distribute, sublicense, and/or sell copies of the Software, and to
 
94
permit persons to whom the Software is furnished to do so, subject to
 
95
the following conditions:
 
96
 
 
97
The above copyright notice and this permission notice shall be
 
98
included in all copies or substantial portions of the Software.
 
99
 
 
100
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 
101
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
102
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 
103
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 
104
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 
105
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 
106
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
107
 
 
108
 
 
109
Credits
 
110
*******
 
111
 
 
112
Keith Packard wrote the pcf driver found in XFree86.  His work is at
 
113
the same time the specification and the sample implementation of the
 
114
PCF format.  Undoubtedly, this driver is inspired from his work.