upgrade to version 1.7
This commit is contained in:
parent
6ed66cda58
commit
3e10abd046
|
@ -97,7 +97,7 @@ some cleaning in order to delete the temporary files. For example:
|
||||||
$h = opendir($dir);
|
$h = opendir($dir);
|
||||||
while($file=readdir($h))
|
while($file=readdir($h))
|
||||||
{
|
{
|
||||||
if(substr($file,0,3)=='tmp' and substr($file,-4)=='.pdf')
|
if(substr($file,0,3)=='tmp' && substr($file,-4)=='.pdf')
|
||||||
{
|
{
|
||||||
$path = $dir.'/'.$file;
|
$path = $dir.'/'.$file;
|
||||||
if($t-filemtime($path)>3600)
|
if($t-filemtime($path)>3600)
|
||||||
|
@ -175,17 +175,19 @@ for convenience:
|
||||||
|
|
||||||
<li id='q9'>
|
<li id='q9'>
|
||||||
<p><b>9.</b> <span class='question'>I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file</span></p>
|
<p><b>9.</b> <span class='question'>I get the following error when I try to generate a PDF: Some data has already been output, can't send PDF file</span></p>
|
||||||
You must send nothing to the browser except the PDF itself: no HTML, no space, no carriage return.
|
You must send nothing to the browser except the PDF itself: no HTML, no space, no carriage return. A common
|
||||||
You may have this other message just before:<br>
|
case is having extra blank at the end of an included script file.<br>
|
||||||
|
If you can't figure out where the problem comes from, this other message appearing just before can help you:<br>
|
||||||
<br>
|
<br>
|
||||||
<b>Warning:</b> Cannot modify header information - headers already sent by (output started at script.php:X)<br>
|
<b>Warning:</b> Cannot modify header information - headers already sent by (output started at script.php:X)<br>
|
||||||
<br>
|
<br>
|
||||||
It means that script.php outputs something at line X. Go to this line and fix it.
|
It means that script.php outputs something at line X. Go to this line and fix it.
|
||||||
In case the warning doesn't show, add this at the very beginning of your script:
|
In case the message doesn't show, first check that you didn't disable warnings, then add this at the very
|
||||||
|
beginning of your script:
|
||||||
<div class="doc-source">
|
<div class="doc-source">
|
||||||
<pre><code>ob_end_clean();</code></pre>
|
<pre><code>ob_end_clean();</code></pre>
|
||||||
</div>
|
</div>
|
||||||
If you still don't see it, disable zlib.output_compression in your php.ini.
|
If you still don't see it, disable zlib.output_compression in your php.ini and it should appear.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id='q10'>
|
<li id='q10'>
|
||||||
|
|
|
@ -0,0 +1,146 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||||
|
<title>Changelog</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="fpdf.css">
|
||||||
|
<style type="text/css">
|
||||||
|
dd {margin:1em 0 1em 1em}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Changelog</h1>
|
||||||
|
<dl>
|
||||||
|
<dt><strong>v1.7</strong> (2011-06-18)</dt>
|
||||||
|
<dd>
|
||||||
|
- The MakeFont utility has been completely rewritten and doesn't depend on ttf2pt1 anymore.<br>
|
||||||
|
- Alpha channel is now supported for PNGs.<br>
|
||||||
|
- When inserting an image, it's now possible to specify its resolution.<br>
|
||||||
|
- Default resolution for images was increased from 72 to 96 dpi.<br>
|
||||||
|
- When inserting a GIF image, no temporary file is used anymore if the PHP version is 5.1 or higher.<br>
|
||||||
|
- When output buffering is enabled and the PDF is about to be sent, the buffer is now cleared if it contains only a UTF-8 BOM and/or whitespace (instead of throwing an error).<br>
|
||||||
|
- Symbol and ZapfDingbats fonts now support underline style.<br>
|
||||||
|
- Custom page sizes are now checked to ensure that width is smaller than height.<br>
|
||||||
|
- Standard font files were changed to use the same format as user fonts.<br>
|
||||||
|
- A bug in the embedding of Type1 fonts was fixed.<br>
|
||||||
|
- A bug related to SetDisplayMode() and the current locale was fixed.<br>
|
||||||
|
- A display issue occurring with the Adobe Reader X plug-in was fixed.<br>
|
||||||
|
- An issue related to transparency with some versions of Adobe Reader was fixed.<br>
|
||||||
|
- The Content-Length header was removed because it caused an issue when the HTTP server applies compression.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.6</strong> (2008-08-03)</dt>
|
||||||
|
<dd>
|
||||||
|
- PHP 4.3.10 or higher is now required.<br>
|
||||||
|
- GIF image support.<br>
|
||||||
|
- Images can now trigger page breaks.<br>
|
||||||
|
- Possibility to have different page formats in a single document.<br>
|
||||||
|
- Document properties (author, creator, keywords, subject and title) can now be specified in UTF-8.<br>
|
||||||
|
- Fixed a bug: when a PNG was inserted through a URL, an error sometimes occurred.<br>
|
||||||
|
- An automatic page break in Header() doesn't cause an infinite loop any more.<br>
|
||||||
|
- Removed some warning messages appearing with recent PHP versions.<br>
|
||||||
|
- Added HTTP headers to reduce problems with IE.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.53</strong> (2004-12-31)</dt>
|
||||||
|
<dd>
|
||||||
|
- When the font subdirectory is in the same directory as fpdf.php, it's no longer necessary to define the FPDF_FONTPATH constant.<br>
|
||||||
|
- The array $HTTP_SERVER_VARS is no longer used. It could cause trouble on PHP5-based configurations with the register_long_arrays option disabled.<br>
|
||||||
|
- Fixed a problem related to Type1 font embedding which caused trouble to some PDF processors.<br>
|
||||||
|
- The file name sent to the browser could not contain a space character.<br>
|
||||||
|
- The Cell() method could not print the number 0 (you had to pass the string '0').<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.52</strong> (2003-12-30)</dt>
|
||||||
|
<dd>
|
||||||
|
- Image() now displays the image at 72 dpi if no dimension is given.<br>
|
||||||
|
- Output() takes a string as second parameter to indicate destination.<br>
|
||||||
|
- Open() is now called automatically by AddPage().<br>
|
||||||
|
- Inserting remote JPEG images doesn't generate an error any longer.<br>
|
||||||
|
- Decimal separator is forced to dot in the constructor.<br>
|
||||||
|
- Added several encodings (Turkish, Thai, Hebrew, Ukrainian and Vietnamese).<br>
|
||||||
|
- The last line of a right-aligned MultiCell() was not correctly aligned if it was terminated by a carriage return.<br>
|
||||||
|
- No more error message about already sent headers when outputting the PDF to the standard output from the command line.<br>
|
||||||
|
- The underlining was going too far for text containing characters \, ( or ).<br>
|
||||||
|
- $HTTP_ENV_VARS has been replaced by $HTTP_SERVER_VARS.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.51</strong> (2002-08-03)</dt>
|
||||||
|
<dd>
|
||||||
|
- Type1 font support.<br>
|
||||||
|
- Added Baltic encoding.<br>
|
||||||
|
- The class now works internally in points with the origin at the bottom in order to avoid two bugs occurring with Acrobat 5 :<br> * The line thickness was too large when printed under Windows 98 SE and ME.<br> * TrueType fonts didn't appear immediately inside the plug-in (a substitution font was used), one had to cause a window refresh to make them show up.<br>
|
||||||
|
- It's no longer necessary to set the decimal separator as dot to produce valid documents.<br>
|
||||||
|
- The clickable area in a cell was always on the left independently from the text alignment.<br>
|
||||||
|
- JPEG images in CMYK mode appeared in inverted colors.<br>
|
||||||
|
- Transparent PNG images in grayscale or true color mode were incorrectly handled.<br>
|
||||||
|
- Adding new fonts now works correctly even with the magic_quotes_runtime option set to on.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.5</strong> (2002-05-28)</dt>
|
||||||
|
<dd>
|
||||||
|
- TrueType font (AddFont()) and encoding support (Western and Eastern Europe, Cyrillic and Greek).<br>
|
||||||
|
- Added Write() method.<br>
|
||||||
|
- Added underlined style.<br>
|
||||||
|
- Internal and external link support (AddLink(), SetLink(), Link()).<br>
|
||||||
|
- Added right margin management and methods SetRightMargin(), SetTopMargin().<br>
|
||||||
|
- Modification of SetDisplayMode() to select page layout.<br>
|
||||||
|
- The border parameter of MultiCell() now lets choose borders to draw as Cell().<br>
|
||||||
|
- When a document contains no page, Close() now calls AddPage() instead of causing a fatal error.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.41</strong> (2002-03-13)</dt>
|
||||||
|
<dd>
|
||||||
|
- Fixed SetDisplayMode() which no longer worked (the PDF viewer used its default display).<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.4</strong> (2002-03-02)</dt>
|
||||||
|
<dd>
|
||||||
|
- PHP3 is no longer supported.<br>
|
||||||
|
- Page compression (SetCompression()).<br>
|
||||||
|
- Choice of page format and possibility to change orientation inside document.<br>
|
||||||
|
- Added AcceptPageBreak() method.<br>
|
||||||
|
- Ability to print the total number of pages (AliasNbPages()).<br>
|
||||||
|
- Choice of cell borders to draw.<br>
|
||||||
|
- New mode for Cell(): the current position can now move under the cell.<br>
|
||||||
|
- Ability to include an image by specifying height only (width is calculated automatically).<br>
|
||||||
|
- Fixed a bug: when a justified line triggered a page break, the footer inherited the corresponding word spacing.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.31</strong> (2002-01-12)</dt>
|
||||||
|
<dd>
|
||||||
|
- Fixed a bug in drawing frame with MultiCell(): the last line always started from the left margin.<br>
|
||||||
|
- Removed Expires HTTP header (gives trouble in some situations).<br>
|
||||||
|
- Added Content-disposition HTTP header (seems to help in some situations).<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.3</strong> (2001-12-03)</dt>
|
||||||
|
<dd>
|
||||||
|
- Line break and text justification support (MultiCell()).<br>
|
||||||
|
- Color support (SetDrawColor(), SetFillColor(), SetTextColor()). Possibility to draw filled rectangles and paint cell background.<br>
|
||||||
|
- A cell whose width is declared null extends up to the right margin of the page.<br>
|
||||||
|
- Line width is now retained from page to page and defaults to 0.2 mm.<br>
|
||||||
|
- Added SetXY() method.<br>
|
||||||
|
- Fixed a passing by reference done in a deprecated manner for PHP4.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.2</strong> (2001-11-11)</dt>
|
||||||
|
<dd>
|
||||||
|
- Added font metric files and GetStringWidth() method.<br>
|
||||||
|
- Centering and right-aligning text in cells.<br>
|
||||||
|
- Display mode control (SetDisplayMode()).<br>
|
||||||
|
- Added methods to set document properties (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).<br>
|
||||||
|
- Possibility to force PDF download by browser.<br>
|
||||||
|
- Added SetX() and GetX() methods.<br>
|
||||||
|
- During automatic page break, current abscissa is now retained.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.11</strong> (2001-10-20)</dt>
|
||||||
|
<dd>
|
||||||
|
- PNG support doesn't require PHP4/zlib any more. Data are now put directly into PDF without any decompression/recompression stage.<br>
|
||||||
|
- Image insertion now works correctly even with magic_quotes_runtime option set to on.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.1</strong> (2001-10-07)</dt>
|
||||||
|
<dd>
|
||||||
|
- JPEG and PNG image support.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.01</strong> (2001-10-03)</dt>
|
||||||
|
<dd>
|
||||||
|
- Fixed a bug involving page break: in case when Header() doesn't specify a font, the one from previous page was not restored and produced an incorrect document.<br>
|
||||||
|
</dd>
|
||||||
|
<dt><strong>v1.0</strong> (2001-09-17)</dt>
|
||||||
|
<dd>
|
||||||
|
- First version.<br>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -19,13 +19,13 @@ The method is overriden in an inherited class in order to obtain a 3 column layo
|
||||||
<div class="doc-source">
|
<div class="doc-source">
|
||||||
<pre><code>class PDF extends FPDF
|
<pre><code>class PDF extends FPDF
|
||||||
{
|
{
|
||||||
var $col=0;
|
var $col = 0;
|
||||||
|
|
||||||
function SetCol($col)
|
function SetCol($col)
|
||||||
{
|
{
|
||||||
//Move position to a column
|
// Move position to a column
|
||||||
$this->col=$col;
|
$this->col = $col;
|
||||||
$x=10+$col*65;
|
$x = 10+$col*65;
|
||||||
$this->SetLeftMargin($x);
|
$this->SetLeftMargin($x);
|
||||||
$this->SetX($x);
|
$this->SetX($x);
|
||||||
}
|
}
|
||||||
|
@ -34,21 +34,21 @@ function AcceptPageBreak()
|
||||||
{
|
{
|
||||||
if($this->col<2)
|
if($this->col<2)
|
||||||
{
|
{
|
||||||
//Go to next column
|
// Go to next column
|
||||||
$this->SetCol($this->col+1);
|
$this->SetCol($this->col+1);
|
||||||
$this->SetY(10);
|
$this->SetY(10);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Go back to first column and issue page break
|
// Go back to first column and issue page break
|
||||||
$this->SetCol(0);
|
$this->SetCol(0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf=new PDF();
|
$pdf = new PDF();
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$pdf->SetFont('Arial','',12);
|
$pdf->SetFont('Arial','',12);
|
||||||
for($i=1;$i<=300;$i++)
|
for($i=1;$i<=300;$i++)
|
||||||
|
|
|
@ -9,11 +9,11 @@
|
||||||
<h1>AddFont</h1>
|
<h1>AddFont</h1>
|
||||||
<code>AddFont(<b>string</b> family [, <b>string</b> style [, <b>string</b> file]])</code>
|
<code>AddFont(<b>string</b> family [, <b>string</b> style [, <b>string</b> file]])</code>
|
||||||
<h2>Description</h2>
|
<h2>Description</h2>
|
||||||
Imports a TrueType or Type1 font and makes it available. It is necessary to generate a font
|
Imports a TrueType, OpenType or Type1 font and makes it available. It is necessary to generate a font
|
||||||
definition file first with the makefont.php utility.
|
definition file first with the MakeFont utility.
|
||||||
<br>
|
<br>
|
||||||
The definition file (and the font file itself when embedding) must be present in the font directory.
|
The definition file (and the font file itself when embedding) must be present in the font directory.
|
||||||
If it is not found, the error "Could not include font definition file" is generated.
|
If it is not found, the error "Could not include font definition file" is raised.
|
||||||
<h2>Parameters</h2>
|
<h2>Parameters</h2>
|
||||||
<dl class="param">
|
<dl class="param">
|
||||||
<dt><code>family</code></dt>
|
<dt><code>family</code></dt>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>AddPage</h1>
|
<h1>AddPage</h1>
|
||||||
<code>AddPage([<b>string</b> orientation ,[ <b>mixed</b> format]])</code>
|
<code>AddPage([<b>string</b> orientation [, <b>mixed</b> size]])</code>
|
||||||
<h2>Description</h2>
|
<h2>Description</h2>
|
||||||
Adds a new page to the document. If a page is already present, the Footer() method is called
|
Adds a new page to the document. If a page is already present, the Footer() method is called
|
||||||
first to output the footer. Then the page is added, the current position set to the top-left
|
first to output the footer. Then the page is added, the current position set to the top-left
|
||||||
|
@ -30,9 +30,9 @@ Page orientation. Possible values are (case insensitive):
|
||||||
</ul>
|
</ul>
|
||||||
The default value is the one passed to the constructor.
|
The default value is the one passed to the constructor.
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>format</code></dt>
|
<dt><code>size</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
Page format. It can be either one of the following values (case insensitive):
|
Page size. It can be either one of the following values (case insensitive):
|
||||||
<ul>
|
<ul>
|
||||||
<li><code>A3</code></li>
|
<li><code>A3</code></li>
|
||||||
<li><code>A4</code></li>
|
<li><code>A4</code></li>
|
||||||
|
|
|
@ -24,16 +24,16 @@ The alias. Default value: <code>{nb}</code>.
|
||||||
{
|
{
|
||||||
function Footer()
|
function Footer()
|
||||||
{
|
{
|
||||||
//Go to 1.5 cm from bottom
|
// Go to 1.5 cm from bottom
|
||||||
$this->SetY(-15);
|
$this->SetY(-15);
|
||||||
//Select Arial italic 8
|
// Select Arial italic 8
|
||||||
$this->SetFont('Arial','I',8);
|
$this->SetFont('Arial','I',8);
|
||||||
//Print current and total page numbers
|
// Print current and total page numbers
|
||||||
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
|
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf=new PDF();
|
$pdf = new PDF();
|
||||||
$pdf->AliasNbPages();</code></pre>
|
$pdf->AliasNbPages();</code></pre>
|
||||||
</div>
|
</div>
|
||||||
<h2>See also</h2>
|
<h2>See also</h2>
|
||||||
|
|
|
@ -80,11 +80,11 @@ URL or identifier returned by AddLink().
|
||||||
</dl>
|
</dl>
|
||||||
<h2>Example</h2>
|
<h2>Example</h2>
|
||||||
<div class="doc-source">
|
<div class="doc-source">
|
||||||
<pre><code>//Set font
|
<pre><code>// Set font
|
||||||
$pdf->SetFont('Arial','B',16);
|
$pdf->SetFont('Arial','B',16);
|
||||||
//Move to 8 cm to the right
|
// Move to 8 cm to the right
|
||||||
$pdf->Cell(80);
|
$pdf->Cell(80);
|
||||||
//Centered text in a framed 20*10 mm cell and line break
|
// Centered text in a framed 20*10 mm cell and line break
|
||||||
$pdf->Cell(20,10,'Title',1,1,'C');</code></pre>
|
$pdf->Cell(20,10,'Title',1,1,'C');</code></pre>
|
||||||
</div>
|
</div>
|
||||||
<h2>See also</h2>
|
<h2>See also</h2>
|
||||||
|
|
|
@ -18,11 +18,11 @@ empty, so you have to subclass it and override the method if you want a specific
|
||||||
{
|
{
|
||||||
function Footer()
|
function Footer()
|
||||||
{
|
{
|
||||||
//Go to 1.5 cm from bottom
|
// Go to 1.5 cm from bottom
|
||||||
$this->SetY(-15);
|
$this->SetY(-15);
|
||||||
//Select Arial italic 8
|
// Select Arial italic 8
|
||||||
$this->SetFont('Arial','I',8);
|
$this->SetFont('Arial','I',8);
|
||||||
//Print centered page number
|
// Print centered page number
|
||||||
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
|
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
|
||||||
}
|
}
|
||||||
}</code></pre>
|
}</code></pre>
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>FPDF</h1>
|
<h1>FPDF</h1>
|
||||||
<code>FPDF([<b>string</b> orientation [, <b>string</b> unit [, <b>mixed</b> format]]])</code>
|
<code>FPDF([<b>string</b> orientation [, <b>string</b> unit [, <b>mixed</b> size]]])</code>
|
||||||
<h2>Description</h2>
|
<h2>Description</h2>
|
||||||
This is the class constructor. It allows to set up the page format, the orientation and the
|
This is the class constructor. It allows to set up the page size, the orientation and the
|
||||||
unit of measure used in all methods (except for font sizes).
|
unit of measure used in all methods (except for font sizes).
|
||||||
<h2>Parameters</h2>
|
<h2>Parameters</h2>
|
||||||
<dl class="param">
|
<dl class="param">
|
||||||
|
@ -37,9 +37,9 @@ is a very common unit in typography; font sizes are expressed in that unit.
|
||||||
<br>
|
<br>
|
||||||
Default value is <code>mm</code>.
|
Default value is <code>mm</code>.
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>format</code></dt>
|
<dt><code>size</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
The format used for pages. It can be either one of the following values (case insensitive):
|
The size used for pages. It can be either one of the following values (case insensitive):
|
||||||
<ul>
|
<ul>
|
||||||
<li><code>A3</code></li>
|
<li><code>A3</code></li>
|
||||||
<li><code>A4</code></li>
|
<li><code>A4</code></li>
|
||||||
|
@ -53,9 +53,9 @@ Default value is <code>A4</code>.
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<h2>Example</h2>
|
<h2>Example</h2>
|
||||||
Example with a custom 100x150 mm page format:
|
Example with a custom 100x150 mm page size:
|
||||||
<div class="doc-source">
|
<div class="doc-source">
|
||||||
<pre><code>$pdf = new FPDF('P', 'mm', array(100,150));</code></pre>
|
<pre><code>$pdf = new FPDF('P','mm',array(100,150));</code></pre>
|
||||||
</div>
|
</div>
|
||||||
<hr style="margin-top:1.5em">
|
<hr style="margin-top:1.5em">
|
||||||
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
<div style="text-align:center"><a href="index.htm">Index</a></div>
|
||||||
|
|
|
@ -18,13 +18,13 @@ you have to subclass it and override the method if you want a specific processin
|
||||||
{
|
{
|
||||||
function Header()
|
function Header()
|
||||||
{
|
{
|
||||||
//Select Arial bold 15
|
// Select Arial bold 15
|
||||||
$this->SetFont('Arial','B',15);
|
$this->SetFont('Arial','B',15);
|
||||||
//Move to the right
|
// Move to the right
|
||||||
$this->Cell(80);
|
$this->Cell(80);
|
||||||
//Framed title
|
// Framed title
|
||||||
$this->Cell(30,10,'Title',1,0,'C');
|
$this->Cell(30,10,'Title',1,0,'C');
|
||||||
//Line break
|
// Line break
|
||||||
$this->Ln(20);
|
$this->Ln(20);
|
||||||
}
|
}
|
||||||
}</code></pre>
|
}</code></pre>
|
||||||
|
|
|
@ -11,9 +11,9 @@
|
||||||
<h2>Description</h2>
|
<h2>Description</h2>
|
||||||
Puts an image. The size it will take on the page can be specified in different ways:
|
Puts an image. The size it will take on the page can be specified in different ways:
|
||||||
<ul>
|
<ul>
|
||||||
<li>explicit width and height (expressed in user unit)</li>
|
<li>explicit width and height (expressed in user unit or dpi)</li>
|
||||||
<li>one explicit dimension, the other being calculated automatically in order to keep the original proportions</li>
|
<li>one explicit dimension, the other being calculated automatically in order to keep the original proportions</li>
|
||||||
<li>no explicit dimension, in which case the image is put at 72 dpi</li>
|
<li>no explicit dimension, in which case the image is put at 96 dpi</li>
|
||||||
</ul>
|
</ul>
|
||||||
Supported formats are JPEG, PNG and GIF. The GD extension is required for GIF.
|
Supported formats are JPEG, PNG and GIF. The GD extension is required for GIF.
|
||||||
<br>
|
<br>
|
||||||
|
@ -30,16 +30,12 @@ For PNGs, are allowed:
|
||||||
<li>indexed colors</li>
|
<li>indexed colors</li>
|
||||||
<li>true colors (24 bits)</li>
|
<li>true colors (24 bits)</li>
|
||||||
</ul>
|
</ul>
|
||||||
but are not supported:
|
For GIFs: in case of an animated GIF, only the first frame is displayed.<br>
|
||||||
<ul>
|
|
||||||
<li>Interlacing</li>
|
|
||||||
<li>Alpha channel</li>
|
|
||||||
</ul>
|
|
||||||
For GIFs: in case of an animated GIF, only the first frame is used.<br>
|
|
||||||
<br>
|
<br>
|
||||||
If a transparent color is defined, it is taken into account.<br>
|
Transparency is supported.<br>
|
||||||
<br>
|
<br>
|
||||||
The format can be specified explicitly or inferred from the file extension.<br>
|
The format can be specified explicitly or inferred from the file extension.<br>
|
||||||
|
<br>
|
||||||
It is possible to put a link on the image.<br>
|
It is possible to put a link on the image.<br>
|
||||||
<br>
|
<br>
|
||||||
Remark: if an image is used several times, only one copy is embedded in the file.
|
Remark: if an image is used several times, only one copy is embedded in the file.
|
||||||
|
@ -62,11 +58,21 @@ and, after the call, the current ordinate is moved to the bottom of the image.
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>w</code></dt>
|
<dt><code>w</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
Width of the image in the page. If not specified or equal to zero, it is automatically calculated.
|
Width of the image in the page. There are three cases:
|
||||||
|
<ul>
|
||||||
|
<li>If the value is positive, it represents the width in user unit</li>
|
||||||
|
<li>If the value is negative, the absolute value represents the horizontal resolution in dpi</li>
|
||||||
|
<li>If the value is not specified or equal to zero, it is automatically calculated</li>
|
||||||
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>h</code></dt>
|
<dt><code>h</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
Height of the image in the page. If not specified or equal to zero, it is automatically calculated.
|
Height of the image in the page. There are three cases:
|
||||||
|
<ul>
|
||||||
|
<li>If the value is positive, it represents the height in user unit</li>
|
||||||
|
<li>If the value is negative, the absolute value represents the vertical resolution in dpi</li>
|
||||||
|
<li>If the value is not specified or equal to zero, it is automatically calculated</li>
|
||||||
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>type</code></dt>
|
<dt><code>type</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
@ -78,6 +84,13 @@ If not specified, the type is inferred from the file extension.
|
||||||
URL or identifier returned by AddLink().
|
URL or identifier returned by AddLink().
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
<h2>Example</h2>
|
||||||
|
<div class="doc-source">
|
||||||
|
<pre><code>// Insert a logo in the top-left corner at 300 dpi
|
||||||
|
$pdf->Image('logo.png',10,10,-300);
|
||||||
|
// Insert a dynamic image from a URL
|
||||||
|
$pdf->Image('http://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World',60,30,90,0,'PNG');</code></pre>
|
||||||
|
</div>
|
||||||
<h2>See also</h2>
|
<h2>See also</h2>
|
||||||
<a href="addlink.htm">AddLink()</a>.
|
<a href="addlink.htm">AddLink()</a>.
|
||||||
<hr style="margin-top:1.5em">
|
<hr style="margin-top:1.5em">
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||||
<title>FPDF 1.6 Reference Manual</title>
|
<title>FPDF 1.7 Reference Manual</title>
|
||||||
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>FPDF 1.6 Reference Manual</h1>
|
<h1>FPDF 1.7 Reference Manual</h1>
|
||||||
<a href="acceptpagebreak.htm">AcceptPageBreak</a> - accept or not automatic page break<br>
|
<a href="acceptpagebreak.htm">AcceptPageBreak</a> - accept or not automatic page break<br>
|
||||||
<a href="addfont.htm">AddFont</a> - add a new font<br>
|
<a href="addfont.htm">AddFont</a> - add a new font<br>
|
||||||
<a href="addlink.htm">AddLink</a> - create an internal link<br>
|
<a href="addlink.htm">AddLink</a> - create an internal link<br>
|
||||||
|
|
|
@ -11,11 +11,9 @@
|
||||||
<h2>Description</h2>
|
<h2>Description</h2>
|
||||||
Defines the way the document is to be displayed by the viewer. The zoom level can be set: pages can be
|
Defines the way the document is to be displayed by the viewer. The zoom level can be set: pages can be
|
||||||
displayed entirely on screen, occupy the full width of the window, use real size, be scaled by a
|
displayed entirely on screen, occupy the full width of the window, use real size, be scaled by a
|
||||||
specific zooming factor or use viewer default (configured in the Preferences menu of Acrobat).
|
specific zooming factor or use viewer default (configured in the Preferences menu of Adobe Reader).
|
||||||
The page layout can be specified too: single at once, continuous display, two columns or viewer
|
The page layout can be specified too: single at once, continuous display, two columns or viewer
|
||||||
default.
|
default.
|
||||||
<br>
|
|
||||||
By default, documents use the full width mode with continuous display.
|
|
||||||
<h2>Parameters</h2>
|
<h2>Parameters</h2>
|
||||||
<dl class="param">
|
<dl class="param">
|
||||||
<dt><code>zoom</code></dt>
|
<dt><code>zoom</code></dt>
|
||||||
|
@ -38,7 +36,7 @@ The page layout. Possible values are:
|
||||||
<li><code>two</code>: displays two pages on two columns</li>
|
<li><code>two</code>: displays two pages on two columns</li>
|
||||||
<li><code>default</code>: uses viewer default mode</li>
|
<li><code>default</code>: uses viewer default mode</li>
|
||||||
</ul>
|
</ul>
|
||||||
Default value is <code>continuous</code>.
|
Default value is <code>default</code>.
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<hr style="margin-top:1.5em">
|
<hr style="margin-top:1.5em">
|
||||||
|
|
|
@ -13,27 +13,27 @@ Sets the font used to print character strings. It is mandatory to call this meth
|
||||||
at least once before printing text or the resulting document would not be valid.
|
at least once before printing text or the resulting document would not be valid.
|
||||||
<br>
|
<br>
|
||||||
The font can be either a standard one or a font added via the AddFont() method. Standard fonts
|
The font can be either a standard one or a font added via the AddFont() method. Standard fonts
|
||||||
use Windows encoding cp1252 (Western Europe).
|
use the Windows encoding cp1252 (Western Europe).
|
||||||
<br>
|
<br>
|
||||||
The method can be called before the first page is created and the font is retained from page
|
The method can be called before the first page is created and the font is kept from page
|
||||||
to page.
|
to page.
|
||||||
<br>
|
<br>
|
||||||
If you just wish to change the current font size, it is simpler to call SetFontSize().
|
If you just wish to change the current font size, it is simpler to call SetFontSize().
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<strong>Note:</strong> the font metric files must be accessible. They are searched successively in:
|
<strong>Note:</strong> the font definition files must be accessible. They are searched successively in:
|
||||||
<ul>
|
<ul>
|
||||||
<li>The directory defined by the <code>FPDF_FONTPATH</code> constant (if this constant is defined)</li>
|
<li>The directory defined by the <code>FPDF_FONTPATH</code> constant (if this constant is defined)</li>
|
||||||
<li>The <code>font</code> directory located in the directory containing <code>fpdf.php</code> (if it exists)</li>
|
<li>The <code>font</code> directory located in the same directory as <code>fpdf.php</code> (if it exists)</li>
|
||||||
<li>The directories accessible through <code>include()</code></li>
|
<li>The directories accessible through <code>include()</code></li>
|
||||||
</ul>
|
</ul>
|
||||||
Example defining <code>FPDF_FONTPATH</code> (note the mandatory trailing slash):
|
Example using <code>FPDF_FONTPATH</code>:
|
||||||
<div class="doc-source">
|
<div class="doc-source">
|
||||||
<pre><code>define('FPDF_FONTPATH','/home/www/font/');
|
<pre><code>define('FPDF_FONTPATH','/home/www/font');
|
||||||
require('fpdf.php');</code></pre>
|
require('fpdf.php');</code></pre>
|
||||||
</div>
|
</div>
|
||||||
If the file corresponding to the requested font is not found, the error "Could not include
|
If the file corresponding to the requested font is not found, the error "Could not include font
|
||||||
font metric file" is issued.
|
definition file" is raised.
|
||||||
<h2>Parameters</h2>
|
<h2>Parameters</h2>
|
||||||
<dl class="param">
|
<dl class="param">
|
||||||
<dt><code>family</code></dt>
|
<dt><code>family</code></dt>
|
||||||
|
@ -47,7 +47,7 @@ insensitive):
|
||||||
<li><code>Symbol</code> (symbolic)</li>
|
<li><code>Symbol</code> (symbolic)</li>
|
||||||
<li><code>ZapfDingbats</code> (symbolic)</li>
|
<li><code>ZapfDingbats</code> (symbolic)</li>
|
||||||
</ul>
|
</ul>
|
||||||
It is also possible to pass an empty string. In that case, the current family is retained.
|
It is also possible to pass an empty string. In that case, the current family is kept.
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>style</code></dt>
|
<dt><code>style</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
@ -71,13 +71,13 @@ the document, the value taken is 12.
|
||||||
</dl>
|
</dl>
|
||||||
<h2>Example</h2>
|
<h2>Example</h2>
|
||||||
<div class="doc-source">
|
<div class="doc-source">
|
||||||
<pre><code>//Times regular 12
|
<pre><code>// Times regular 12
|
||||||
$pdf->SetFont('Times');
|
$pdf->SetFont('Times');
|
||||||
//Arial bold 14
|
// Arial bold 14
|
||||||
$pdf->SetFont('Arial','B',14);
|
$pdf->SetFont('Arial','B',14);
|
||||||
//Removes bold
|
// Removes bold
|
||||||
$pdf->SetFont('');
|
$pdf->SetFont('');
|
||||||
//Times bold, italic and underlined 14
|
// Times bold, italic and underlined 14
|
||||||
$pdf->SetFont('Times','BIU');</code></pre>
|
$pdf->SetFont('Times','BIU');</code></pre>
|
||||||
</div>
|
</div>
|
||||||
<h2>See also</h2>
|
<h2>See also</h2>
|
||||||
|
|
|
@ -31,10 +31,10 @@ URL or identifier returned by AddLink().
|
||||||
</dl>
|
</dl>
|
||||||
<h2>Example</h2>
|
<h2>Example</h2>
|
||||||
<div class="doc-source">
|
<div class="doc-source">
|
||||||
<pre><code>//Begin with regular font
|
<pre><code>// Begin with regular font
|
||||||
$pdf->SetFont('Arial','',14);
|
$pdf->SetFont('Arial','',14);
|
||||||
$pdf->Write(5,'Visit ');
|
$pdf->Write(5,'Visit ');
|
||||||
//Then put a blue underlined link
|
// Then put a blue underlined link
|
||||||
$pdf->SetTextColor(0,0,255);
|
$pdf->SetTextColor(0,0,255);
|
||||||
$pdf->SetFont('','U');
|
$pdf->SetFont('','U');
|
||||||
$pdf->Write(5,'www.fpdf.org','http://www.fpdf.org');</code></pre>
|
$pdf->Write(5,'www.fpdf.org','http://www.fpdf.org');</code></pre>
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
|
$type = 'Core';
|
||||||
|
$name = 'Courier';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
for($i=0;$i<=255;$i++)
|
for($i=0;$i<=255;$i++)
|
||||||
$fpdf_charwidths['courier'][chr($i)]=600;
|
$cw[chr($i)] = 600;
|
||||||
$fpdf_charwidths['courierB']=$fpdf_charwidths['courier'];
|
|
||||||
$fpdf_charwidths['courierI']=$fpdf_charwidths['courier'];
|
|
||||||
$fpdf_charwidths['courierBI']=$fpdf_charwidths['courier'];
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
$type = 'Core';
|
||||||
|
$name = 'Courier-Bold';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
for($i=0;$i<=255;$i++)
|
||||||
|
$cw[chr($i)] = 600;
|
||||||
|
?>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
$type = 'Core';
|
||||||
|
$name = 'Courier-BoldOblique';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
for($i=0;$i<=255;$i++)
|
||||||
|
$cw[chr($i)] = 600;
|
||||||
|
?>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
$type = 'Core';
|
||||||
|
$name = 'Courier-Oblique';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
for($i=0;$i<=255;$i++)
|
||||||
|
$cw[chr($i)] = 600;
|
||||||
|
?>
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['helvetica']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Helvetica';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['helveticaB']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Helvetica-Bold';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['helveticaBI']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Helvetica-BoldOblique';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['helveticaI']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Helvetica-Oblique';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['symbol']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Symbol';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549,
|
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549,
|
||||||
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722,
|
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['times']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Times-Roman';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564,
|
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564,
|
||||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722,
|
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['timesB']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Times-Bold';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
||||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722,
|
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['timesBI']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Times-BoldItalic';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
||||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,
|
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['timesI']=array(
|
$type = 'Core';
|
||||||
|
$name = 'Times-Italic';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
|
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
|
||||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,
|
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$fpdf_charwidths['zapfdingbats']=array(
|
$type = 'Core';
|
||||||
|
$name = 'ZapfDingbats';
|
||||||
|
$up = -100;
|
||||||
|
$ut = 50;
|
||||||
|
$cw = array(
|
||||||
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
|
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
|
||||||
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
|
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
|
||||||
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,
|
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
body {font-family:"Times New Roman",serif}
|
body {font-family:"Times New Roman",serif}
|
||||||
h1 {font:bold 135% Arial,sans-serif; color:#4000A0; margin-bottom:0.9em}
|
h1 {font:bold 135% Arial,sans-serif; color:#4000A0; margin-bottom:0.9em}
|
||||||
h2 {font:bold 95% Arial,sans-serif; color:#900000; margin-top:1.5em; margin-bottom:1em}
|
h2 {font:bold 100% Arial,sans-serif; color:#900000; margin-top:1.5em}
|
||||||
dl.param dt {text-decoration:underline}
|
dl.param dt {text-decoration:underline}
|
||||||
dl.param dd {margin-top:1em; margin-bottom:1em}
|
dl.param dd {margin-top:1em; margin-bottom:1em}
|
||||||
dl.param ul {margin-top:1em; margin-bottom:1em}
|
dl.param ul {margin-top:1em; margin-bottom:1em}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,23 +1,12 @@
|
||||||
The FPDF library is made up of the following elements:
|
The FPDF library is made up of the following elements:
|
||||||
|
|
||||||
- the main file, fpdf.php, which contains the class
|
- the main file, fpdf.php, which contains the class
|
||||||
- the font metric files (located in the font directory of this archive)
|
- the font definition files located in the font directory
|
||||||
|
|
||||||
The metric files are necessary as soon as you want to output some text in a document.
|
The font definition files are necessary as soon as you want to output some text in a document.
|
||||||
They can be accessed from three different locations:
|
If they are not accessible, the SetFont() method will produce the following error:
|
||||||
|
|
||||||
- the directory defined by the FPDF_FONTPATH constant (if this constant is defined)
|
FPDF error: Could not include font definition file
|
||||||
- the font directory located in the directory containing fpdf.php (as it is the case in this archive)
|
|
||||||
- the directories accessible through include()
|
|
||||||
|
|
||||||
Here is an example defining FPDF_FONTPATH (note the mandatory final slash):
|
|
||||||
|
|
||||||
define('FPDF_FONTPATH','/home/www/font/');
|
|
||||||
require('fpdf.php');
|
|
||||||
|
|
||||||
If the files are not accessible, the SetFont() method will produce the following error:
|
|
||||||
|
|
||||||
FPDF error: Could not include font metric file
|
|
||||||
|
|
||||||
|
|
||||||
Remarks:
|
Remarks:
|
||||||
|
|
|
@ -0,0 +1,251 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+20AC Euro
|
||||||
|
!82 U+201A quotesinglbase
|
||||||
|
!84 U+201E quotedblbase
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!86 U+2020 dagger
|
||||||
|
!87 U+2021 daggerdbl
|
||||||
|
!89 U+2030 perthousand
|
||||||
|
!8A U+0160 Scaron
|
||||||
|
!8B U+2039 guilsinglleft
|
||||||
|
!8C U+015A Sacute
|
||||||
|
!8D U+0164 Tcaron
|
||||||
|
!8E U+017D Zcaron
|
||||||
|
!8F U+0179 Zacute
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!99 U+2122 trademark
|
||||||
|
!9A U+0161 scaron
|
||||||
|
!9B U+203A guilsinglright
|
||||||
|
!9C U+015B sacute
|
||||||
|
!9D U+0165 tcaron
|
||||||
|
!9E U+017E zcaron
|
||||||
|
!9F U+017A zacute
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+02C7 caron
|
||||||
|
!A2 U+02D8 breve
|
||||||
|
!A3 U+0141 Lslash
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+0104 Aogonek
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+015E Scedilla
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+017B Zdotaccent
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+02DB ogonek
|
||||||
|
!B3 U+0142 lslash
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+0105 aogonek
|
||||||
|
!BA U+015F scedilla
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+013D Lcaron
|
||||||
|
!BD U+02DD hungarumlaut
|
||||||
|
!BE U+013E lcaron
|
||||||
|
!BF U+017C zdotaccent
|
||||||
|
!C0 U+0154 Racute
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+0102 Abreve
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+0139 Lacute
|
||||||
|
!C6 U+0106 Cacute
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+010C Ccaron
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+0118 Eogonek
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+011A Ecaron
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+010E Dcaron
|
||||||
|
!D0 U+0110 Dcroat
|
||||||
|
!D1 U+0143 Nacute
|
||||||
|
!D2 U+0147 Ncaron
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+0150 Ohungarumlaut
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+0158 Rcaron
|
||||||
|
!D9 U+016E Uring
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+0170 Uhungarumlaut
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+00DD Yacute
|
||||||
|
!DE U+0162 Tcommaaccent
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+0155 racute
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+0103 abreve
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+013A lacute
|
||||||
|
!E6 U+0107 cacute
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+010D ccaron
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+0119 eogonek
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+011B ecaron
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+010F dcaron
|
||||||
|
!F0 U+0111 dcroat
|
||||||
|
!F1 U+0144 nacute
|
||||||
|
!F2 U+0148 ncaron
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+0151 ohungarumlaut
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+0159 rcaron
|
||||||
|
!F9 U+016F uring
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+0171 uhungarumlaut
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+00FD yacute
|
||||||
|
!FE U+0163 tcommaaccent
|
||||||
|
!FF U+02D9 dotaccent
|
|
@ -0,0 +1,255 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0402 afii10051
|
||||||
|
!81 U+0403 afii10052
|
||||||
|
!82 U+201A quotesinglbase
|
||||||
|
!83 U+0453 afii10100
|
||||||
|
!84 U+201E quotedblbase
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!86 U+2020 dagger
|
||||||
|
!87 U+2021 daggerdbl
|
||||||
|
!88 U+20AC Euro
|
||||||
|
!89 U+2030 perthousand
|
||||||
|
!8A U+0409 afii10058
|
||||||
|
!8B U+2039 guilsinglleft
|
||||||
|
!8C U+040A afii10059
|
||||||
|
!8D U+040C afii10061
|
||||||
|
!8E U+040B afii10060
|
||||||
|
!8F U+040F afii10145
|
||||||
|
!90 U+0452 afii10099
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!99 U+2122 trademark
|
||||||
|
!9A U+0459 afii10106
|
||||||
|
!9B U+203A guilsinglright
|
||||||
|
!9C U+045A afii10107
|
||||||
|
!9D U+045C afii10109
|
||||||
|
!9E U+045B afii10108
|
||||||
|
!9F U+045F afii10193
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+040E afii10062
|
||||||
|
!A2 U+045E afii10110
|
||||||
|
!A3 U+0408 afii10057
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+0490 afii10050
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+0401 afii10023
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+0404 afii10053
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+0407 afii10056
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+0406 afii10055
|
||||||
|
!B3 U+0456 afii10103
|
||||||
|
!B4 U+0491 afii10098
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+0451 afii10071
|
||||||
|
!B9 U+2116 afii61352
|
||||||
|
!BA U+0454 afii10101
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+0458 afii10105
|
||||||
|
!BD U+0405 afii10054
|
||||||
|
!BE U+0455 afii10102
|
||||||
|
!BF U+0457 afii10104
|
||||||
|
!C0 U+0410 afii10017
|
||||||
|
!C1 U+0411 afii10018
|
||||||
|
!C2 U+0412 afii10019
|
||||||
|
!C3 U+0413 afii10020
|
||||||
|
!C4 U+0414 afii10021
|
||||||
|
!C5 U+0415 afii10022
|
||||||
|
!C6 U+0416 afii10024
|
||||||
|
!C7 U+0417 afii10025
|
||||||
|
!C8 U+0418 afii10026
|
||||||
|
!C9 U+0419 afii10027
|
||||||
|
!CA U+041A afii10028
|
||||||
|
!CB U+041B afii10029
|
||||||
|
!CC U+041C afii10030
|
||||||
|
!CD U+041D afii10031
|
||||||
|
!CE U+041E afii10032
|
||||||
|
!CF U+041F afii10033
|
||||||
|
!D0 U+0420 afii10034
|
||||||
|
!D1 U+0421 afii10035
|
||||||
|
!D2 U+0422 afii10036
|
||||||
|
!D3 U+0423 afii10037
|
||||||
|
!D4 U+0424 afii10038
|
||||||
|
!D5 U+0425 afii10039
|
||||||
|
!D6 U+0426 afii10040
|
||||||
|
!D7 U+0427 afii10041
|
||||||
|
!D8 U+0428 afii10042
|
||||||
|
!D9 U+0429 afii10043
|
||||||
|
!DA U+042A afii10044
|
||||||
|
!DB U+042B afii10045
|
||||||
|
!DC U+042C afii10046
|
||||||
|
!DD U+042D afii10047
|
||||||
|
!DE U+042E afii10048
|
||||||
|
!DF U+042F afii10049
|
||||||
|
!E0 U+0430 afii10065
|
||||||
|
!E1 U+0431 afii10066
|
||||||
|
!E2 U+0432 afii10067
|
||||||
|
!E3 U+0433 afii10068
|
||||||
|
!E4 U+0434 afii10069
|
||||||
|
!E5 U+0435 afii10070
|
||||||
|
!E6 U+0436 afii10072
|
||||||
|
!E7 U+0437 afii10073
|
||||||
|
!E8 U+0438 afii10074
|
||||||
|
!E9 U+0439 afii10075
|
||||||
|
!EA U+043A afii10076
|
||||||
|
!EB U+043B afii10077
|
||||||
|
!EC U+043C afii10078
|
||||||
|
!ED U+043D afii10079
|
||||||
|
!EE U+043E afii10080
|
||||||
|
!EF U+043F afii10081
|
||||||
|
!F0 U+0440 afii10082
|
||||||
|
!F1 U+0441 afii10083
|
||||||
|
!F2 U+0442 afii10084
|
||||||
|
!F3 U+0443 afii10085
|
||||||
|
!F4 U+0444 afii10086
|
||||||
|
!F5 U+0445 afii10087
|
||||||
|
!F6 U+0446 afii10088
|
||||||
|
!F7 U+0447 afii10089
|
||||||
|
!F8 U+0448 afii10090
|
||||||
|
!F9 U+0449 afii10091
|
||||||
|
!FA U+044A afii10092
|
||||||
|
!FB U+044B afii10093
|
||||||
|
!FC U+044C afii10094
|
||||||
|
!FD U+044D afii10095
|
||||||
|
!FE U+044E afii10096
|
||||||
|
!FF U+044F afii10097
|
|
@ -0,0 +1,251 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+20AC Euro
|
||||||
|
!82 U+201A quotesinglbase
|
||||||
|
!83 U+0192 florin
|
||||||
|
!84 U+201E quotedblbase
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!86 U+2020 dagger
|
||||||
|
!87 U+2021 daggerdbl
|
||||||
|
!88 U+02C6 circumflex
|
||||||
|
!89 U+2030 perthousand
|
||||||
|
!8A U+0160 Scaron
|
||||||
|
!8B U+2039 guilsinglleft
|
||||||
|
!8C U+0152 OE
|
||||||
|
!8E U+017D Zcaron
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!98 U+02DC tilde
|
||||||
|
!99 U+2122 trademark
|
||||||
|
!9A U+0161 scaron
|
||||||
|
!9B U+203A guilsinglright
|
||||||
|
!9C U+0153 oe
|
||||||
|
!9E U+017E zcaron
|
||||||
|
!9F U+0178 Ydieresis
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+00A1 exclamdown
|
||||||
|
!A2 U+00A2 cent
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+00A5 yen
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+00AA ordfeminine
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+00AF macron
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+00B9 onesuperior
|
||||||
|
!BA U+00BA ordmasculine
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+00BC onequarter
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+00BE threequarters
|
||||||
|
!BF U+00BF questiondown
|
||||||
|
!C0 U+00C0 Agrave
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+00C3 Atilde
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+00C5 Aring
|
||||||
|
!C6 U+00C6 AE
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+00C8 Egrave
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+00CA Ecircumflex
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+00CC Igrave
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+00CF Idieresis
|
||||||
|
!D0 U+00D0 Eth
|
||||||
|
!D1 U+00D1 Ntilde
|
||||||
|
!D2 U+00D2 Ograve
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+00D5 Otilde
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+00D8 Oslash
|
||||||
|
!D9 U+00D9 Ugrave
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+00DB Ucircumflex
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+00DD Yacute
|
||||||
|
!DE U+00DE Thorn
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+00E0 agrave
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+00E3 atilde
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+00E5 aring
|
||||||
|
!E6 U+00E6 ae
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+00E8 egrave
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+00EA ecircumflex
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+00EC igrave
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+00EF idieresis
|
||||||
|
!F0 U+00F0 eth
|
||||||
|
!F1 U+00F1 ntilde
|
||||||
|
!F2 U+00F2 ograve
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+00F5 otilde
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+00F8 oslash
|
||||||
|
!F9 U+00F9 ugrave
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+00FB ucircumflex
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+00FD yacute
|
||||||
|
!FE U+00FE thorn
|
||||||
|
!FF U+00FF ydieresis
|
|
@ -0,0 +1,239 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+20AC Euro
|
||||||
|
!82 U+201A quotesinglbase
|
||||||
|
!83 U+0192 florin
|
||||||
|
!84 U+201E quotedblbase
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!86 U+2020 dagger
|
||||||
|
!87 U+2021 daggerdbl
|
||||||
|
!89 U+2030 perthousand
|
||||||
|
!8B U+2039 guilsinglleft
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!99 U+2122 trademark
|
||||||
|
!9B U+203A guilsinglright
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+0385 dieresistonos
|
||||||
|
!A2 U+0386 Alphatonos
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+00A5 yen
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+2015 afii00208
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+0384 tonos
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+0388 Epsilontonos
|
||||||
|
!B9 U+0389 Etatonos
|
||||||
|
!BA U+038A Iotatonos
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+038C Omicrontonos
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+038E Upsilontonos
|
||||||
|
!BF U+038F Omegatonos
|
||||||
|
!C0 U+0390 iotadieresistonos
|
||||||
|
!C1 U+0391 Alpha
|
||||||
|
!C2 U+0392 Beta
|
||||||
|
!C3 U+0393 Gamma
|
||||||
|
!C4 U+0394 Delta
|
||||||
|
!C5 U+0395 Epsilon
|
||||||
|
!C6 U+0396 Zeta
|
||||||
|
!C7 U+0397 Eta
|
||||||
|
!C8 U+0398 Theta
|
||||||
|
!C9 U+0399 Iota
|
||||||
|
!CA U+039A Kappa
|
||||||
|
!CB U+039B Lambda
|
||||||
|
!CC U+039C Mu
|
||||||
|
!CD U+039D Nu
|
||||||
|
!CE U+039E Xi
|
||||||
|
!CF U+039F Omicron
|
||||||
|
!D0 U+03A0 Pi
|
||||||
|
!D1 U+03A1 Rho
|
||||||
|
!D3 U+03A3 Sigma
|
||||||
|
!D4 U+03A4 Tau
|
||||||
|
!D5 U+03A5 Upsilon
|
||||||
|
!D6 U+03A6 Phi
|
||||||
|
!D7 U+03A7 Chi
|
||||||
|
!D8 U+03A8 Psi
|
||||||
|
!D9 U+03A9 Omega
|
||||||
|
!DA U+03AA Iotadieresis
|
||||||
|
!DB U+03AB Upsilondieresis
|
||||||
|
!DC U+03AC alphatonos
|
||||||
|
!DD U+03AD epsilontonos
|
||||||
|
!DE U+03AE etatonos
|
||||||
|
!DF U+03AF iotatonos
|
||||||
|
!E0 U+03B0 upsilondieresistonos
|
||||||
|
!E1 U+03B1 alpha
|
||||||
|
!E2 U+03B2 beta
|
||||||
|
!E3 U+03B3 gamma
|
||||||
|
!E4 U+03B4 delta
|
||||||
|
!E5 U+03B5 epsilon
|
||||||
|
!E6 U+03B6 zeta
|
||||||
|
!E7 U+03B7 eta
|
||||||
|
!E8 U+03B8 theta
|
||||||
|
!E9 U+03B9 iota
|
||||||
|
!EA U+03BA kappa
|
||||||
|
!EB U+03BB lambda
|
||||||
|
!EC U+03BC mu
|
||||||
|
!ED U+03BD nu
|
||||||
|
!EE U+03BE xi
|
||||||
|
!EF U+03BF omicron
|
||||||
|
!F0 U+03C0 pi
|
||||||
|
!F1 U+03C1 rho
|
||||||
|
!F2 U+03C2 sigma1
|
||||||
|
!F3 U+03C3 sigma
|
||||||
|
!F4 U+03C4 tau
|
||||||
|
!F5 U+03C5 upsilon
|
||||||
|
!F6 U+03C6 phi
|
||||||
|
!F7 U+03C7 chi
|
||||||
|
!F8 U+03C8 psi
|
||||||
|
!F9 U+03C9 omega
|
||||||
|
!FA U+03CA iotadieresis
|
||||||
|
!FB U+03CB upsilondieresis
|
||||||
|
!FC U+03CC omicrontonos
|
||||||
|
!FD U+03CD upsilontonos
|
||||||
|
!FE U+03CE omegatonos
|
|
@ -0,0 +1,249 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+20AC Euro
|
||||||
|
!82 U+201A quotesinglbase
|
||||||
|
!83 U+0192 florin
|
||||||
|
!84 U+201E quotedblbase
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!86 U+2020 dagger
|
||||||
|
!87 U+2021 daggerdbl
|
||||||
|
!88 U+02C6 circumflex
|
||||||
|
!89 U+2030 perthousand
|
||||||
|
!8A U+0160 Scaron
|
||||||
|
!8B U+2039 guilsinglleft
|
||||||
|
!8C U+0152 OE
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!98 U+02DC tilde
|
||||||
|
!99 U+2122 trademark
|
||||||
|
!9A U+0161 scaron
|
||||||
|
!9B U+203A guilsinglright
|
||||||
|
!9C U+0153 oe
|
||||||
|
!9F U+0178 Ydieresis
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+00A1 exclamdown
|
||||||
|
!A2 U+00A2 cent
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+00A5 yen
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+00AA ordfeminine
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+00AF macron
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+00B9 onesuperior
|
||||||
|
!BA U+00BA ordmasculine
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+00BC onequarter
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+00BE threequarters
|
||||||
|
!BF U+00BF questiondown
|
||||||
|
!C0 U+00C0 Agrave
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+00C3 Atilde
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+00C5 Aring
|
||||||
|
!C6 U+00C6 AE
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+00C8 Egrave
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+00CA Ecircumflex
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+00CC Igrave
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+00CF Idieresis
|
||||||
|
!D0 U+011E Gbreve
|
||||||
|
!D1 U+00D1 Ntilde
|
||||||
|
!D2 U+00D2 Ograve
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+00D5 Otilde
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+00D8 Oslash
|
||||||
|
!D9 U+00D9 Ugrave
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+00DB Ucircumflex
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+0130 Idotaccent
|
||||||
|
!DE U+015E Scedilla
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+00E0 agrave
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+00E3 atilde
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+00E5 aring
|
||||||
|
!E6 U+00E6 ae
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+00E8 egrave
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+00EA ecircumflex
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+00EC igrave
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+00EF idieresis
|
||||||
|
!F0 U+011F gbreve
|
||||||
|
!F1 U+00F1 ntilde
|
||||||
|
!F2 U+00F2 ograve
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+00F5 otilde
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+00F8 oslash
|
||||||
|
!F9 U+00F9 ugrave
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+00FB ucircumflex
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+0131 dotlessi
|
||||||
|
!FE U+015F scedilla
|
||||||
|
!FF U+00FF ydieresis
|
|
@ -0,0 +1,233 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+20AC Euro
|
||||||
|
!82 U+201A quotesinglbase
|
||||||
|
!83 U+0192 florin
|
||||||
|
!84 U+201E quotedblbase
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!86 U+2020 dagger
|
||||||
|
!87 U+2021 daggerdbl
|
||||||
|
!88 U+02C6 circumflex
|
||||||
|
!89 U+2030 perthousand
|
||||||
|
!8B U+2039 guilsinglleft
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!98 U+02DC tilde
|
||||||
|
!99 U+2122 trademark
|
||||||
|
!9B U+203A guilsinglright
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+00A1 exclamdown
|
||||||
|
!A2 U+00A2 cent
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+20AA afii57636
|
||||||
|
!A5 U+00A5 yen
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+00D7 multiply
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD sfthyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+00AF macron
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 middot
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+00B9 onesuperior
|
||||||
|
!BA U+00F7 divide
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+00BC onequarter
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+00BE threequarters
|
||||||
|
!BF U+00BF questiondown
|
||||||
|
!C0 U+05B0 afii57799
|
||||||
|
!C1 U+05B1 afii57801
|
||||||
|
!C2 U+05B2 afii57800
|
||||||
|
!C3 U+05B3 afii57802
|
||||||
|
!C4 U+05B4 afii57793
|
||||||
|
!C5 U+05B5 afii57794
|
||||||
|
!C6 U+05B6 afii57795
|
||||||
|
!C7 U+05B7 afii57798
|
||||||
|
!C8 U+05B8 afii57797
|
||||||
|
!C9 U+05B9 afii57806
|
||||||
|
!CB U+05BB afii57796
|
||||||
|
!CC U+05BC afii57807
|
||||||
|
!CD U+05BD afii57839
|
||||||
|
!CE U+05BE afii57645
|
||||||
|
!CF U+05BF afii57841
|
||||||
|
!D0 U+05C0 afii57842
|
||||||
|
!D1 U+05C1 afii57804
|
||||||
|
!D2 U+05C2 afii57803
|
||||||
|
!D3 U+05C3 afii57658
|
||||||
|
!D4 U+05F0 afii57716
|
||||||
|
!D5 U+05F1 afii57717
|
||||||
|
!D6 U+05F2 afii57718
|
||||||
|
!D7 U+05F3 gereshhebrew
|
||||||
|
!D8 U+05F4 gershayimhebrew
|
||||||
|
!E0 U+05D0 afii57664
|
||||||
|
!E1 U+05D1 afii57665
|
||||||
|
!E2 U+05D2 afii57666
|
||||||
|
!E3 U+05D3 afii57667
|
||||||
|
!E4 U+05D4 afii57668
|
||||||
|
!E5 U+05D5 afii57669
|
||||||
|
!E6 U+05D6 afii57670
|
||||||
|
!E7 U+05D7 afii57671
|
||||||
|
!E8 U+05D8 afii57672
|
||||||
|
!E9 U+05D9 afii57673
|
||||||
|
!EA U+05DA afii57674
|
||||||
|
!EB U+05DB afii57675
|
||||||
|
!EC U+05DC afii57676
|
||||||
|
!ED U+05DD afii57677
|
||||||
|
!EE U+05DE afii57678
|
||||||
|
!EF U+05DF afii57679
|
||||||
|
!F0 U+05E0 afii57680
|
||||||
|
!F1 U+05E1 afii57681
|
||||||
|
!F2 U+05E2 afii57682
|
||||||
|
!F3 U+05E3 afii57683
|
||||||
|
!F4 U+05E4 afii57684
|
||||||
|
!F5 U+05E5 afii57685
|
||||||
|
!F6 U+05E6 afii57686
|
||||||
|
!F7 U+05E7 afii57687
|
||||||
|
!F8 U+05E8 afii57688
|
||||||
|
!F9 U+05E9 afii57689
|
||||||
|
!FA U+05EA afii57690
|
||||||
|
!FD U+200E afii299
|
||||||
|
!FE U+200F afii300
|
|
@ -0,0 +1,244 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+20AC Euro
|
||||||
|
!82 U+201A quotesinglbase
|
||||||
|
!84 U+201E quotedblbase
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!86 U+2020 dagger
|
||||||
|
!87 U+2021 daggerdbl
|
||||||
|
!89 U+2030 perthousand
|
||||||
|
!8B U+2039 guilsinglleft
|
||||||
|
!8D U+00A8 dieresis
|
||||||
|
!8E U+02C7 caron
|
||||||
|
!8F U+00B8 cedilla
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!99 U+2122 trademark
|
||||||
|
!9B U+203A guilsinglright
|
||||||
|
!9D U+00AF macron
|
||||||
|
!9E U+02DB ogonek
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A2 U+00A2 cent
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00D8 Oslash
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+0156 Rcommaaccent
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+00C6 AE
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+00F8 oslash
|
||||||
|
!B9 U+00B9 onesuperior
|
||||||
|
!BA U+0157 rcommaaccent
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+00BC onequarter
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+00BE threequarters
|
||||||
|
!BF U+00E6 ae
|
||||||
|
!C0 U+0104 Aogonek
|
||||||
|
!C1 U+012E Iogonek
|
||||||
|
!C2 U+0100 Amacron
|
||||||
|
!C3 U+0106 Cacute
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+00C5 Aring
|
||||||
|
!C6 U+0118 Eogonek
|
||||||
|
!C7 U+0112 Emacron
|
||||||
|
!C8 U+010C Ccaron
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+0179 Zacute
|
||||||
|
!CB U+0116 Edotaccent
|
||||||
|
!CC U+0122 Gcommaaccent
|
||||||
|
!CD U+0136 Kcommaaccent
|
||||||
|
!CE U+012A Imacron
|
||||||
|
!CF U+013B Lcommaaccent
|
||||||
|
!D0 U+0160 Scaron
|
||||||
|
!D1 U+0143 Nacute
|
||||||
|
!D2 U+0145 Ncommaaccent
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+014C Omacron
|
||||||
|
!D5 U+00D5 Otilde
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+0172 Uogonek
|
||||||
|
!D9 U+0141 Lslash
|
||||||
|
!DA U+015A Sacute
|
||||||
|
!DB U+016A Umacron
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+017B Zdotaccent
|
||||||
|
!DE U+017D Zcaron
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+0105 aogonek
|
||||||
|
!E1 U+012F iogonek
|
||||||
|
!E2 U+0101 amacron
|
||||||
|
!E3 U+0107 cacute
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+00E5 aring
|
||||||
|
!E6 U+0119 eogonek
|
||||||
|
!E7 U+0113 emacron
|
||||||
|
!E8 U+010D ccaron
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+017A zacute
|
||||||
|
!EB U+0117 edotaccent
|
||||||
|
!EC U+0123 gcommaaccent
|
||||||
|
!ED U+0137 kcommaaccent
|
||||||
|
!EE U+012B imacron
|
||||||
|
!EF U+013C lcommaaccent
|
||||||
|
!F0 U+0161 scaron
|
||||||
|
!F1 U+0144 nacute
|
||||||
|
!F2 U+0146 ncommaaccent
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+014D omacron
|
||||||
|
!F5 U+00F5 otilde
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+0173 uogonek
|
||||||
|
!F9 U+0142 lslash
|
||||||
|
!FA U+015B sacute
|
||||||
|
!FB U+016B umacron
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+017C zdotaccent
|
||||||
|
!FE U+017E zcaron
|
||||||
|
!FF U+02D9 dotaccent
|
|
@ -0,0 +1,247 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+20AC Euro
|
||||||
|
!82 U+201A quotesinglbase
|
||||||
|
!83 U+0192 florin
|
||||||
|
!84 U+201E quotedblbase
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!86 U+2020 dagger
|
||||||
|
!87 U+2021 daggerdbl
|
||||||
|
!88 U+02C6 circumflex
|
||||||
|
!89 U+2030 perthousand
|
||||||
|
!8B U+2039 guilsinglleft
|
||||||
|
!8C U+0152 OE
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!98 U+02DC tilde
|
||||||
|
!99 U+2122 trademark
|
||||||
|
!9B U+203A guilsinglright
|
||||||
|
!9C U+0153 oe
|
||||||
|
!9F U+0178 Ydieresis
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+00A1 exclamdown
|
||||||
|
!A2 U+00A2 cent
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+00A5 yen
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+00AA ordfeminine
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+00AF macron
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+00B9 onesuperior
|
||||||
|
!BA U+00BA ordmasculine
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+00BC onequarter
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+00BE threequarters
|
||||||
|
!BF U+00BF questiondown
|
||||||
|
!C0 U+00C0 Agrave
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+0102 Abreve
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+00C5 Aring
|
||||||
|
!C6 U+00C6 AE
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+00C8 Egrave
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+00CA Ecircumflex
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+0300 gravecomb
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+00CF Idieresis
|
||||||
|
!D0 U+0110 Dcroat
|
||||||
|
!D1 U+00D1 Ntilde
|
||||||
|
!D2 U+0309 hookabovecomb
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+01A0 Ohorn
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+00D8 Oslash
|
||||||
|
!D9 U+00D9 Ugrave
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+00DB Ucircumflex
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+01AF Uhorn
|
||||||
|
!DE U+0303 tildecomb
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+00E0 agrave
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+0103 abreve
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+00E5 aring
|
||||||
|
!E6 U+00E6 ae
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+00E8 egrave
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+00EA ecircumflex
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+0301 acutecomb
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+00EF idieresis
|
||||||
|
!F0 U+0111 dcroat
|
||||||
|
!F1 U+00F1 ntilde
|
||||||
|
!F2 U+0323 dotbelowcomb
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+01A1 ohorn
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+00F8 oslash
|
||||||
|
!F9 U+00F9 ugrave
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+00FB ucircumflex
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+01B0 uhorn
|
||||||
|
!FE U+20AB dong
|
||||||
|
!FF U+00FF ydieresis
|
|
@ -0,0 +1,225 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+20AC Euro
|
||||||
|
!85 U+2026 ellipsis
|
||||||
|
!91 U+2018 quoteleft
|
||||||
|
!92 U+2019 quoteright
|
||||||
|
!93 U+201C quotedblleft
|
||||||
|
!94 U+201D quotedblright
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+2013 endash
|
||||||
|
!97 U+2014 emdash
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+0E01 kokaithai
|
||||||
|
!A2 U+0E02 khokhaithai
|
||||||
|
!A3 U+0E03 khokhuatthai
|
||||||
|
!A4 U+0E04 khokhwaithai
|
||||||
|
!A5 U+0E05 khokhonthai
|
||||||
|
!A6 U+0E06 khorakhangthai
|
||||||
|
!A7 U+0E07 ngonguthai
|
||||||
|
!A8 U+0E08 chochanthai
|
||||||
|
!A9 U+0E09 chochingthai
|
||||||
|
!AA U+0E0A chochangthai
|
||||||
|
!AB U+0E0B sosothai
|
||||||
|
!AC U+0E0C chochoethai
|
||||||
|
!AD U+0E0D yoyingthai
|
||||||
|
!AE U+0E0E dochadathai
|
||||||
|
!AF U+0E0F topatakthai
|
||||||
|
!B0 U+0E10 thothanthai
|
||||||
|
!B1 U+0E11 thonangmonthothai
|
||||||
|
!B2 U+0E12 thophuthaothai
|
||||||
|
!B3 U+0E13 nonenthai
|
||||||
|
!B4 U+0E14 dodekthai
|
||||||
|
!B5 U+0E15 totaothai
|
||||||
|
!B6 U+0E16 thothungthai
|
||||||
|
!B7 U+0E17 thothahanthai
|
||||||
|
!B8 U+0E18 thothongthai
|
||||||
|
!B9 U+0E19 nonuthai
|
||||||
|
!BA U+0E1A bobaimaithai
|
||||||
|
!BB U+0E1B poplathai
|
||||||
|
!BC U+0E1C phophungthai
|
||||||
|
!BD U+0E1D fofathai
|
||||||
|
!BE U+0E1E phophanthai
|
||||||
|
!BF U+0E1F fofanthai
|
||||||
|
!C0 U+0E20 phosamphaothai
|
||||||
|
!C1 U+0E21 momathai
|
||||||
|
!C2 U+0E22 yoyakthai
|
||||||
|
!C3 U+0E23 roruathai
|
||||||
|
!C4 U+0E24 ruthai
|
||||||
|
!C5 U+0E25 lolingthai
|
||||||
|
!C6 U+0E26 luthai
|
||||||
|
!C7 U+0E27 wowaenthai
|
||||||
|
!C8 U+0E28 sosalathai
|
||||||
|
!C9 U+0E29 sorusithai
|
||||||
|
!CA U+0E2A sosuathai
|
||||||
|
!CB U+0E2B hohipthai
|
||||||
|
!CC U+0E2C lochulathai
|
||||||
|
!CD U+0E2D oangthai
|
||||||
|
!CE U+0E2E honokhukthai
|
||||||
|
!CF U+0E2F paiyannoithai
|
||||||
|
!D0 U+0E30 saraathai
|
||||||
|
!D1 U+0E31 maihanakatthai
|
||||||
|
!D2 U+0E32 saraaathai
|
||||||
|
!D3 U+0E33 saraamthai
|
||||||
|
!D4 U+0E34 saraithai
|
||||||
|
!D5 U+0E35 saraiithai
|
||||||
|
!D6 U+0E36 sarauethai
|
||||||
|
!D7 U+0E37 saraueethai
|
||||||
|
!D8 U+0E38 sarauthai
|
||||||
|
!D9 U+0E39 sarauuthai
|
||||||
|
!DA U+0E3A phinthuthai
|
||||||
|
!DF U+0E3F bahtthai
|
||||||
|
!E0 U+0E40 saraethai
|
||||||
|
!E1 U+0E41 saraaethai
|
||||||
|
!E2 U+0E42 saraothai
|
||||||
|
!E3 U+0E43 saraaimaimuanthai
|
||||||
|
!E4 U+0E44 saraaimaimalaithai
|
||||||
|
!E5 U+0E45 lakkhangyaothai
|
||||||
|
!E6 U+0E46 maiyamokthai
|
||||||
|
!E7 U+0E47 maitaikhuthai
|
||||||
|
!E8 U+0E48 maiekthai
|
||||||
|
!E9 U+0E49 maithothai
|
||||||
|
!EA U+0E4A maitrithai
|
||||||
|
!EB U+0E4B maichattawathai
|
||||||
|
!EC U+0E4C thanthakhatthai
|
||||||
|
!ED U+0E4D nikhahitthai
|
||||||
|
!EE U+0E4E yamakkanthai
|
||||||
|
!EF U+0E4F fongmanthai
|
||||||
|
!F0 U+0E50 zerothai
|
||||||
|
!F1 U+0E51 onethai
|
||||||
|
!F2 U+0E52 twothai
|
||||||
|
!F3 U+0E53 threethai
|
||||||
|
!F4 U+0E54 fourthai
|
||||||
|
!F5 U+0E55 fivethai
|
||||||
|
!F6 U+0E56 sixthai
|
||||||
|
!F7 U+0E57 seventhai
|
||||||
|
!F8 U+0E58 eightthai
|
||||||
|
!F9 U+0E59 ninethai
|
||||||
|
!FA U+0E5A angkhankhuthai
|
||||||
|
!FB U+0E5B khomutthai
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+00A1 exclamdown
|
||||||
|
!A2 U+00A2 cent
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+00A5 yen
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+00AA ordfeminine
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+00AF macron
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+00B9 onesuperior
|
||||||
|
!BA U+00BA ordmasculine
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+00BC onequarter
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+00BE threequarters
|
||||||
|
!BF U+00BF questiondown
|
||||||
|
!C0 U+00C0 Agrave
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+00C3 Atilde
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+00C5 Aring
|
||||||
|
!C6 U+00C6 AE
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+00C8 Egrave
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+00CA Ecircumflex
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+00CC Igrave
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+00CF Idieresis
|
||||||
|
!D0 U+00D0 Eth
|
||||||
|
!D1 U+00D1 Ntilde
|
||||||
|
!D2 U+00D2 Ograve
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+00D5 Otilde
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+00D8 Oslash
|
||||||
|
!D9 U+00D9 Ugrave
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+00DB Ucircumflex
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+00DD Yacute
|
||||||
|
!DE U+00DE Thorn
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+00E0 agrave
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+00E3 atilde
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+00E5 aring
|
||||||
|
!E6 U+00E6 ae
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+00E8 egrave
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+00EA ecircumflex
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+00EC igrave
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+00EF idieresis
|
||||||
|
!F0 U+00F0 eth
|
||||||
|
!F1 U+00F1 ntilde
|
||||||
|
!F2 U+00F2 ograve
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+00F5 otilde
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+00F8 oslash
|
||||||
|
!F9 U+00F9 ugrave
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+00FB ucircumflex
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+00FD yacute
|
||||||
|
!FE U+00FE thorn
|
||||||
|
!FF U+00FF ydieresis
|
|
@ -0,0 +1,248 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+0E01 kokaithai
|
||||||
|
!A2 U+0E02 khokhaithai
|
||||||
|
!A3 U+0E03 khokhuatthai
|
||||||
|
!A4 U+0E04 khokhwaithai
|
||||||
|
!A5 U+0E05 khokhonthai
|
||||||
|
!A6 U+0E06 khorakhangthai
|
||||||
|
!A7 U+0E07 ngonguthai
|
||||||
|
!A8 U+0E08 chochanthai
|
||||||
|
!A9 U+0E09 chochingthai
|
||||||
|
!AA U+0E0A chochangthai
|
||||||
|
!AB U+0E0B sosothai
|
||||||
|
!AC U+0E0C chochoethai
|
||||||
|
!AD U+0E0D yoyingthai
|
||||||
|
!AE U+0E0E dochadathai
|
||||||
|
!AF U+0E0F topatakthai
|
||||||
|
!B0 U+0E10 thothanthai
|
||||||
|
!B1 U+0E11 thonangmonthothai
|
||||||
|
!B2 U+0E12 thophuthaothai
|
||||||
|
!B3 U+0E13 nonenthai
|
||||||
|
!B4 U+0E14 dodekthai
|
||||||
|
!B5 U+0E15 totaothai
|
||||||
|
!B6 U+0E16 thothungthai
|
||||||
|
!B7 U+0E17 thothahanthai
|
||||||
|
!B8 U+0E18 thothongthai
|
||||||
|
!B9 U+0E19 nonuthai
|
||||||
|
!BA U+0E1A bobaimaithai
|
||||||
|
!BB U+0E1B poplathai
|
||||||
|
!BC U+0E1C phophungthai
|
||||||
|
!BD U+0E1D fofathai
|
||||||
|
!BE U+0E1E phophanthai
|
||||||
|
!BF U+0E1F fofanthai
|
||||||
|
!C0 U+0E20 phosamphaothai
|
||||||
|
!C1 U+0E21 momathai
|
||||||
|
!C2 U+0E22 yoyakthai
|
||||||
|
!C3 U+0E23 roruathai
|
||||||
|
!C4 U+0E24 ruthai
|
||||||
|
!C5 U+0E25 lolingthai
|
||||||
|
!C6 U+0E26 luthai
|
||||||
|
!C7 U+0E27 wowaenthai
|
||||||
|
!C8 U+0E28 sosalathai
|
||||||
|
!C9 U+0E29 sorusithai
|
||||||
|
!CA U+0E2A sosuathai
|
||||||
|
!CB U+0E2B hohipthai
|
||||||
|
!CC U+0E2C lochulathai
|
||||||
|
!CD U+0E2D oangthai
|
||||||
|
!CE U+0E2E honokhukthai
|
||||||
|
!CF U+0E2F paiyannoithai
|
||||||
|
!D0 U+0E30 saraathai
|
||||||
|
!D1 U+0E31 maihanakatthai
|
||||||
|
!D2 U+0E32 saraaathai
|
||||||
|
!D3 U+0E33 saraamthai
|
||||||
|
!D4 U+0E34 saraithai
|
||||||
|
!D5 U+0E35 saraiithai
|
||||||
|
!D6 U+0E36 sarauethai
|
||||||
|
!D7 U+0E37 saraueethai
|
||||||
|
!D8 U+0E38 sarauthai
|
||||||
|
!D9 U+0E39 sarauuthai
|
||||||
|
!DA U+0E3A phinthuthai
|
||||||
|
!DF U+0E3F bahtthai
|
||||||
|
!E0 U+0E40 saraethai
|
||||||
|
!E1 U+0E41 saraaethai
|
||||||
|
!E2 U+0E42 saraothai
|
||||||
|
!E3 U+0E43 saraaimaimuanthai
|
||||||
|
!E4 U+0E44 saraaimaimalaithai
|
||||||
|
!E5 U+0E45 lakkhangyaothai
|
||||||
|
!E6 U+0E46 maiyamokthai
|
||||||
|
!E7 U+0E47 maitaikhuthai
|
||||||
|
!E8 U+0E48 maiekthai
|
||||||
|
!E9 U+0E49 maithothai
|
||||||
|
!EA U+0E4A maitrithai
|
||||||
|
!EB U+0E4B maichattawathai
|
||||||
|
!EC U+0E4C thanthakhatthai
|
||||||
|
!ED U+0E4D nikhahitthai
|
||||||
|
!EE U+0E4E yamakkanthai
|
||||||
|
!EF U+0E4F fongmanthai
|
||||||
|
!F0 U+0E50 zerothai
|
||||||
|
!F1 U+0E51 onethai
|
||||||
|
!F2 U+0E52 twothai
|
||||||
|
!F3 U+0E53 threethai
|
||||||
|
!F4 U+0E54 fourthai
|
||||||
|
!F5 U+0E55 fivethai
|
||||||
|
!F6 U+0E56 sixthai
|
||||||
|
!F7 U+0E57 seventhai
|
||||||
|
!F8 U+0E58 eightthai
|
||||||
|
!F9 U+0E59 ninethai
|
||||||
|
!FA U+0E5A angkhankhuthai
|
||||||
|
!FB U+0E5B khomutthai
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+00A1 exclamdown
|
||||||
|
!A2 U+00A2 cent
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+20AC Euro
|
||||||
|
!A5 U+00A5 yen
|
||||||
|
!A6 U+0160 Scaron
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+0161 scaron
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+00AA ordfeminine
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+00AF macron
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+017D Zcaron
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+017E zcaron
|
||||||
|
!B9 U+00B9 onesuperior
|
||||||
|
!BA U+00BA ordmasculine
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+0152 OE
|
||||||
|
!BD U+0153 oe
|
||||||
|
!BE U+0178 Ydieresis
|
||||||
|
!BF U+00BF questiondown
|
||||||
|
!C0 U+00C0 Agrave
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+00C3 Atilde
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+00C5 Aring
|
||||||
|
!C6 U+00C6 AE
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+00C8 Egrave
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+00CA Ecircumflex
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+00CC Igrave
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+00CF Idieresis
|
||||||
|
!D0 U+00D0 Eth
|
||||||
|
!D1 U+00D1 Ntilde
|
||||||
|
!D2 U+00D2 Ograve
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+00D5 Otilde
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+00D8 Oslash
|
||||||
|
!D9 U+00D9 Ugrave
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+00DB Ucircumflex
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+00DD Yacute
|
||||||
|
!DE U+00DE Thorn
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+00E0 agrave
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+00E3 atilde
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+00E5 aring
|
||||||
|
!E6 U+00E6 ae
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+00E8 egrave
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+00EA ecircumflex
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+00EC igrave
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+00EF idieresis
|
||||||
|
!F0 U+00F0 eth
|
||||||
|
!F1 U+00F1 ntilde
|
||||||
|
!F2 U+00F2 ograve
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+00F5 otilde
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+00F8 oslash
|
||||||
|
!F9 U+00F9 ugrave
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+00FB ucircumflex
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+00FD yacute
|
||||||
|
!FE U+00FE thorn
|
||||||
|
!FF U+00FF ydieresis
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+0104 Aogonek
|
||||||
|
!A2 U+0105 aogonek
|
||||||
|
!A3 U+0141 Lslash
|
||||||
|
!A4 U+20AC Euro
|
||||||
|
!A5 U+201E quotedblbase
|
||||||
|
!A6 U+0160 Scaron
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+0161 scaron
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+0218 Scommaaccent
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+0179 Zacute
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+017A zacute
|
||||||
|
!AF U+017B Zdotaccent
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+010C Ccaron
|
||||||
|
!B3 U+0142 lslash
|
||||||
|
!B4 U+017D Zcaron
|
||||||
|
!B5 U+201D quotedblright
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+017E zcaron
|
||||||
|
!B9 U+010D ccaron
|
||||||
|
!BA U+0219 scommaaccent
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+0152 OE
|
||||||
|
!BD U+0153 oe
|
||||||
|
!BE U+0178 Ydieresis
|
||||||
|
!BF U+017C zdotaccent
|
||||||
|
!C0 U+00C0 Agrave
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+0102 Abreve
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+0106 Cacute
|
||||||
|
!C6 U+00C6 AE
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+00C8 Egrave
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+00CA Ecircumflex
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+00CC Igrave
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+00CF Idieresis
|
||||||
|
!D0 U+0110 Dcroat
|
||||||
|
!D1 U+0143 Nacute
|
||||||
|
!D2 U+00D2 Ograve
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+0150 Ohungarumlaut
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+015A Sacute
|
||||||
|
!D8 U+0170 Uhungarumlaut
|
||||||
|
!D9 U+00D9 Ugrave
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+00DB Ucircumflex
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+0118 Eogonek
|
||||||
|
!DE U+021A Tcommaaccent
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+00E0 agrave
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+0103 abreve
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+0107 cacute
|
||||||
|
!E6 U+00E6 ae
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+00E8 egrave
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+00EA ecircumflex
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+00EC igrave
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+00EF idieresis
|
||||||
|
!F0 U+0111 dcroat
|
||||||
|
!F1 U+0144 nacute
|
||||||
|
!F2 U+00F2 ograve
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+0151 ohungarumlaut
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+015B sacute
|
||||||
|
!F8 U+0171 uhungarumlaut
|
||||||
|
!F9 U+00F9 ugrave
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+00FB ucircumflex
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+0119 eogonek
|
||||||
|
!FE U+021B tcommaaccent
|
||||||
|
!FF U+00FF ydieresis
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+0104 Aogonek
|
||||||
|
!A2 U+02D8 breve
|
||||||
|
!A3 U+0141 Lslash
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+013D Lcaron
|
||||||
|
!A6 U+015A Sacute
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+0160 Scaron
|
||||||
|
!AA U+015E Scedilla
|
||||||
|
!AB U+0164 Tcaron
|
||||||
|
!AC U+0179 Zacute
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+017D Zcaron
|
||||||
|
!AF U+017B Zdotaccent
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+0105 aogonek
|
||||||
|
!B2 U+02DB ogonek
|
||||||
|
!B3 U+0142 lslash
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+013E lcaron
|
||||||
|
!B6 U+015B sacute
|
||||||
|
!B7 U+02C7 caron
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+0161 scaron
|
||||||
|
!BA U+015F scedilla
|
||||||
|
!BB U+0165 tcaron
|
||||||
|
!BC U+017A zacute
|
||||||
|
!BD U+02DD hungarumlaut
|
||||||
|
!BE U+017E zcaron
|
||||||
|
!BF U+017C zdotaccent
|
||||||
|
!C0 U+0154 Racute
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+0102 Abreve
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+0139 Lacute
|
||||||
|
!C6 U+0106 Cacute
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+010C Ccaron
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+0118 Eogonek
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+011A Ecaron
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+010E Dcaron
|
||||||
|
!D0 U+0110 Dcroat
|
||||||
|
!D1 U+0143 Nacute
|
||||||
|
!D2 U+0147 Ncaron
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+0150 Ohungarumlaut
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+0158 Rcaron
|
||||||
|
!D9 U+016E Uring
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+0170 Uhungarumlaut
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+00DD Yacute
|
||||||
|
!DE U+0162 Tcommaaccent
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+0155 racute
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+0103 abreve
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+013A lacute
|
||||||
|
!E6 U+0107 cacute
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+010D ccaron
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+0119 eogonek
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+011B ecaron
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+010F dcaron
|
||||||
|
!F0 U+0111 dcroat
|
||||||
|
!F1 U+0144 nacute
|
||||||
|
!F2 U+0148 ncaron
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+0151 ohungarumlaut
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+0159 rcaron
|
||||||
|
!F9 U+016F uring
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+0171 uhungarumlaut
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+00FD yacute
|
||||||
|
!FE U+0163 tcommaaccent
|
||||||
|
!FF U+02D9 dotaccent
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+0104 Aogonek
|
||||||
|
!A2 U+0138 kgreenlandic
|
||||||
|
!A3 U+0156 Rcommaaccent
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+0128 Itilde
|
||||||
|
!A6 U+013B Lcommaaccent
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+0160 Scaron
|
||||||
|
!AA U+0112 Emacron
|
||||||
|
!AB U+0122 Gcommaaccent
|
||||||
|
!AC U+0166 Tbar
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+017D Zcaron
|
||||||
|
!AF U+00AF macron
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+0105 aogonek
|
||||||
|
!B2 U+02DB ogonek
|
||||||
|
!B3 U+0157 rcommaaccent
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+0129 itilde
|
||||||
|
!B6 U+013C lcommaaccent
|
||||||
|
!B7 U+02C7 caron
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+0161 scaron
|
||||||
|
!BA U+0113 emacron
|
||||||
|
!BB U+0123 gcommaaccent
|
||||||
|
!BC U+0167 tbar
|
||||||
|
!BD U+014A Eng
|
||||||
|
!BE U+017E zcaron
|
||||||
|
!BF U+014B eng
|
||||||
|
!C0 U+0100 Amacron
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+00C3 Atilde
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+00C5 Aring
|
||||||
|
!C6 U+00C6 AE
|
||||||
|
!C7 U+012E Iogonek
|
||||||
|
!C8 U+010C Ccaron
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+0118 Eogonek
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+0116 Edotaccent
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+012A Imacron
|
||||||
|
!D0 U+0110 Dcroat
|
||||||
|
!D1 U+0145 Ncommaaccent
|
||||||
|
!D2 U+014C Omacron
|
||||||
|
!D3 U+0136 Kcommaaccent
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+00D5 Otilde
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+00D8 Oslash
|
||||||
|
!D9 U+0172 Uogonek
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+00DB Ucircumflex
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+0168 Utilde
|
||||||
|
!DE U+016A Umacron
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+0101 amacron
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+00E3 atilde
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+00E5 aring
|
||||||
|
!E6 U+00E6 ae
|
||||||
|
!E7 U+012F iogonek
|
||||||
|
!E8 U+010D ccaron
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+0119 eogonek
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+0117 edotaccent
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+012B imacron
|
||||||
|
!F0 U+0111 dcroat
|
||||||
|
!F1 U+0146 ncommaaccent
|
||||||
|
!F2 U+014D omacron
|
||||||
|
!F3 U+0137 kcommaaccent
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+00F5 otilde
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+00F8 oslash
|
||||||
|
!F9 U+0173 uogonek
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+00FB ucircumflex
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+0169 utilde
|
||||||
|
!FE U+016B umacron
|
||||||
|
!FF U+02D9 dotaccent
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+0401 afii10023
|
||||||
|
!A2 U+0402 afii10051
|
||||||
|
!A3 U+0403 afii10052
|
||||||
|
!A4 U+0404 afii10053
|
||||||
|
!A5 U+0405 afii10054
|
||||||
|
!A6 U+0406 afii10055
|
||||||
|
!A7 U+0407 afii10056
|
||||||
|
!A8 U+0408 afii10057
|
||||||
|
!A9 U+0409 afii10058
|
||||||
|
!AA U+040A afii10059
|
||||||
|
!AB U+040B afii10060
|
||||||
|
!AC U+040C afii10061
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+040E afii10062
|
||||||
|
!AF U+040F afii10145
|
||||||
|
!B0 U+0410 afii10017
|
||||||
|
!B1 U+0411 afii10018
|
||||||
|
!B2 U+0412 afii10019
|
||||||
|
!B3 U+0413 afii10020
|
||||||
|
!B4 U+0414 afii10021
|
||||||
|
!B5 U+0415 afii10022
|
||||||
|
!B6 U+0416 afii10024
|
||||||
|
!B7 U+0417 afii10025
|
||||||
|
!B8 U+0418 afii10026
|
||||||
|
!B9 U+0419 afii10027
|
||||||
|
!BA U+041A afii10028
|
||||||
|
!BB U+041B afii10029
|
||||||
|
!BC U+041C afii10030
|
||||||
|
!BD U+041D afii10031
|
||||||
|
!BE U+041E afii10032
|
||||||
|
!BF U+041F afii10033
|
||||||
|
!C0 U+0420 afii10034
|
||||||
|
!C1 U+0421 afii10035
|
||||||
|
!C2 U+0422 afii10036
|
||||||
|
!C3 U+0423 afii10037
|
||||||
|
!C4 U+0424 afii10038
|
||||||
|
!C5 U+0425 afii10039
|
||||||
|
!C6 U+0426 afii10040
|
||||||
|
!C7 U+0427 afii10041
|
||||||
|
!C8 U+0428 afii10042
|
||||||
|
!C9 U+0429 afii10043
|
||||||
|
!CA U+042A afii10044
|
||||||
|
!CB U+042B afii10045
|
||||||
|
!CC U+042C afii10046
|
||||||
|
!CD U+042D afii10047
|
||||||
|
!CE U+042E afii10048
|
||||||
|
!CF U+042F afii10049
|
||||||
|
!D0 U+0430 afii10065
|
||||||
|
!D1 U+0431 afii10066
|
||||||
|
!D2 U+0432 afii10067
|
||||||
|
!D3 U+0433 afii10068
|
||||||
|
!D4 U+0434 afii10069
|
||||||
|
!D5 U+0435 afii10070
|
||||||
|
!D6 U+0436 afii10072
|
||||||
|
!D7 U+0437 afii10073
|
||||||
|
!D8 U+0438 afii10074
|
||||||
|
!D9 U+0439 afii10075
|
||||||
|
!DA U+043A afii10076
|
||||||
|
!DB U+043B afii10077
|
||||||
|
!DC U+043C afii10078
|
||||||
|
!DD U+043D afii10079
|
||||||
|
!DE U+043E afii10080
|
||||||
|
!DF U+043F afii10081
|
||||||
|
!E0 U+0440 afii10082
|
||||||
|
!E1 U+0441 afii10083
|
||||||
|
!E2 U+0442 afii10084
|
||||||
|
!E3 U+0443 afii10085
|
||||||
|
!E4 U+0444 afii10086
|
||||||
|
!E5 U+0445 afii10087
|
||||||
|
!E6 U+0446 afii10088
|
||||||
|
!E7 U+0447 afii10089
|
||||||
|
!E8 U+0448 afii10090
|
||||||
|
!E9 U+0449 afii10091
|
||||||
|
!EA U+044A afii10092
|
||||||
|
!EB U+044B afii10093
|
||||||
|
!EC U+044C afii10094
|
||||||
|
!ED U+044D afii10095
|
||||||
|
!EE U+044E afii10096
|
||||||
|
!EF U+044F afii10097
|
||||||
|
!F0 U+2116 afii61352
|
||||||
|
!F1 U+0451 afii10071
|
||||||
|
!F2 U+0452 afii10099
|
||||||
|
!F3 U+0453 afii10100
|
||||||
|
!F4 U+0454 afii10101
|
||||||
|
!F5 U+0455 afii10102
|
||||||
|
!F6 U+0456 afii10103
|
||||||
|
!F7 U+0457 afii10104
|
||||||
|
!F8 U+0458 afii10105
|
||||||
|
!F9 U+0459 afii10106
|
||||||
|
!FA U+045A afii10107
|
||||||
|
!FB U+045B afii10108
|
||||||
|
!FC U+045C afii10109
|
||||||
|
!FD U+00A7 section
|
||||||
|
!FE U+045E afii10110
|
||||||
|
!FF U+045F afii10193
|
|
@ -0,0 +1,250 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+2018 quoteleft
|
||||||
|
!A2 U+2019 quoteright
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AF U+2015 afii00208
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+0384 tonos
|
||||||
|
!B5 U+0385 dieresistonos
|
||||||
|
!B6 U+0386 Alphatonos
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+0388 Epsilontonos
|
||||||
|
!B9 U+0389 Etatonos
|
||||||
|
!BA U+038A Iotatonos
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+038C Omicrontonos
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+038E Upsilontonos
|
||||||
|
!BF U+038F Omegatonos
|
||||||
|
!C0 U+0390 iotadieresistonos
|
||||||
|
!C1 U+0391 Alpha
|
||||||
|
!C2 U+0392 Beta
|
||||||
|
!C3 U+0393 Gamma
|
||||||
|
!C4 U+0394 Delta
|
||||||
|
!C5 U+0395 Epsilon
|
||||||
|
!C6 U+0396 Zeta
|
||||||
|
!C7 U+0397 Eta
|
||||||
|
!C8 U+0398 Theta
|
||||||
|
!C9 U+0399 Iota
|
||||||
|
!CA U+039A Kappa
|
||||||
|
!CB U+039B Lambda
|
||||||
|
!CC U+039C Mu
|
||||||
|
!CD U+039D Nu
|
||||||
|
!CE U+039E Xi
|
||||||
|
!CF U+039F Omicron
|
||||||
|
!D0 U+03A0 Pi
|
||||||
|
!D1 U+03A1 Rho
|
||||||
|
!D3 U+03A3 Sigma
|
||||||
|
!D4 U+03A4 Tau
|
||||||
|
!D5 U+03A5 Upsilon
|
||||||
|
!D6 U+03A6 Phi
|
||||||
|
!D7 U+03A7 Chi
|
||||||
|
!D8 U+03A8 Psi
|
||||||
|
!D9 U+03A9 Omega
|
||||||
|
!DA U+03AA Iotadieresis
|
||||||
|
!DB U+03AB Upsilondieresis
|
||||||
|
!DC U+03AC alphatonos
|
||||||
|
!DD U+03AD epsilontonos
|
||||||
|
!DE U+03AE etatonos
|
||||||
|
!DF U+03AF iotatonos
|
||||||
|
!E0 U+03B0 upsilondieresistonos
|
||||||
|
!E1 U+03B1 alpha
|
||||||
|
!E2 U+03B2 beta
|
||||||
|
!E3 U+03B3 gamma
|
||||||
|
!E4 U+03B4 delta
|
||||||
|
!E5 U+03B5 epsilon
|
||||||
|
!E6 U+03B6 zeta
|
||||||
|
!E7 U+03B7 eta
|
||||||
|
!E8 U+03B8 theta
|
||||||
|
!E9 U+03B9 iota
|
||||||
|
!EA U+03BA kappa
|
||||||
|
!EB U+03BB lambda
|
||||||
|
!EC U+03BC mu
|
||||||
|
!ED U+03BD nu
|
||||||
|
!EE U+03BE xi
|
||||||
|
!EF U+03BF omicron
|
||||||
|
!F0 U+03C0 pi
|
||||||
|
!F1 U+03C1 rho
|
||||||
|
!F2 U+03C2 sigma1
|
||||||
|
!F3 U+03C3 sigma
|
||||||
|
!F4 U+03C4 tau
|
||||||
|
!F5 U+03C5 upsilon
|
||||||
|
!F6 U+03C6 phi
|
||||||
|
!F7 U+03C7 chi
|
||||||
|
!F8 U+03C8 psi
|
||||||
|
!F9 U+03C9 omega
|
||||||
|
!FA U+03CA iotadieresis
|
||||||
|
!FB U+03CB upsilondieresis
|
||||||
|
!FC U+03CC omicrontonos
|
||||||
|
!FD U+03CD upsilontonos
|
||||||
|
!FE U+03CE omegatonos
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+0080 .notdef
|
||||||
|
!81 U+0081 .notdef
|
||||||
|
!82 U+0082 .notdef
|
||||||
|
!83 U+0083 .notdef
|
||||||
|
!84 U+0084 .notdef
|
||||||
|
!85 U+0085 .notdef
|
||||||
|
!86 U+0086 .notdef
|
||||||
|
!87 U+0087 .notdef
|
||||||
|
!88 U+0088 .notdef
|
||||||
|
!89 U+0089 .notdef
|
||||||
|
!8A U+008A .notdef
|
||||||
|
!8B U+008B .notdef
|
||||||
|
!8C U+008C .notdef
|
||||||
|
!8D U+008D .notdef
|
||||||
|
!8E U+008E .notdef
|
||||||
|
!8F U+008F .notdef
|
||||||
|
!90 U+0090 .notdef
|
||||||
|
!91 U+0091 .notdef
|
||||||
|
!92 U+0092 .notdef
|
||||||
|
!93 U+0093 .notdef
|
||||||
|
!94 U+0094 .notdef
|
||||||
|
!95 U+0095 .notdef
|
||||||
|
!96 U+0096 .notdef
|
||||||
|
!97 U+0097 .notdef
|
||||||
|
!98 U+0098 .notdef
|
||||||
|
!99 U+0099 .notdef
|
||||||
|
!9A U+009A .notdef
|
||||||
|
!9B U+009B .notdef
|
||||||
|
!9C U+009C .notdef
|
||||||
|
!9D U+009D .notdef
|
||||||
|
!9E U+009E .notdef
|
||||||
|
!9F U+009F .notdef
|
||||||
|
!A0 U+00A0 space
|
||||||
|
!A1 U+00A1 exclamdown
|
||||||
|
!A2 U+00A2 cent
|
||||||
|
!A3 U+00A3 sterling
|
||||||
|
!A4 U+00A4 currency
|
||||||
|
!A5 U+00A5 yen
|
||||||
|
!A6 U+00A6 brokenbar
|
||||||
|
!A7 U+00A7 section
|
||||||
|
!A8 U+00A8 dieresis
|
||||||
|
!A9 U+00A9 copyright
|
||||||
|
!AA U+00AA ordfeminine
|
||||||
|
!AB U+00AB guillemotleft
|
||||||
|
!AC U+00AC logicalnot
|
||||||
|
!AD U+00AD hyphen
|
||||||
|
!AE U+00AE registered
|
||||||
|
!AF U+00AF macron
|
||||||
|
!B0 U+00B0 degree
|
||||||
|
!B1 U+00B1 plusminus
|
||||||
|
!B2 U+00B2 twosuperior
|
||||||
|
!B3 U+00B3 threesuperior
|
||||||
|
!B4 U+00B4 acute
|
||||||
|
!B5 U+00B5 mu
|
||||||
|
!B6 U+00B6 paragraph
|
||||||
|
!B7 U+00B7 periodcentered
|
||||||
|
!B8 U+00B8 cedilla
|
||||||
|
!B9 U+00B9 onesuperior
|
||||||
|
!BA U+00BA ordmasculine
|
||||||
|
!BB U+00BB guillemotright
|
||||||
|
!BC U+00BC onequarter
|
||||||
|
!BD U+00BD onehalf
|
||||||
|
!BE U+00BE threequarters
|
||||||
|
!BF U+00BF questiondown
|
||||||
|
!C0 U+00C0 Agrave
|
||||||
|
!C1 U+00C1 Aacute
|
||||||
|
!C2 U+00C2 Acircumflex
|
||||||
|
!C3 U+00C3 Atilde
|
||||||
|
!C4 U+00C4 Adieresis
|
||||||
|
!C5 U+00C5 Aring
|
||||||
|
!C6 U+00C6 AE
|
||||||
|
!C7 U+00C7 Ccedilla
|
||||||
|
!C8 U+00C8 Egrave
|
||||||
|
!C9 U+00C9 Eacute
|
||||||
|
!CA U+00CA Ecircumflex
|
||||||
|
!CB U+00CB Edieresis
|
||||||
|
!CC U+00CC Igrave
|
||||||
|
!CD U+00CD Iacute
|
||||||
|
!CE U+00CE Icircumflex
|
||||||
|
!CF U+00CF Idieresis
|
||||||
|
!D0 U+011E Gbreve
|
||||||
|
!D1 U+00D1 Ntilde
|
||||||
|
!D2 U+00D2 Ograve
|
||||||
|
!D3 U+00D3 Oacute
|
||||||
|
!D4 U+00D4 Ocircumflex
|
||||||
|
!D5 U+00D5 Otilde
|
||||||
|
!D6 U+00D6 Odieresis
|
||||||
|
!D7 U+00D7 multiply
|
||||||
|
!D8 U+00D8 Oslash
|
||||||
|
!D9 U+00D9 Ugrave
|
||||||
|
!DA U+00DA Uacute
|
||||||
|
!DB U+00DB Ucircumflex
|
||||||
|
!DC U+00DC Udieresis
|
||||||
|
!DD U+0130 Idotaccent
|
||||||
|
!DE U+015E Scedilla
|
||||||
|
!DF U+00DF germandbls
|
||||||
|
!E0 U+00E0 agrave
|
||||||
|
!E1 U+00E1 aacute
|
||||||
|
!E2 U+00E2 acircumflex
|
||||||
|
!E3 U+00E3 atilde
|
||||||
|
!E4 U+00E4 adieresis
|
||||||
|
!E5 U+00E5 aring
|
||||||
|
!E6 U+00E6 ae
|
||||||
|
!E7 U+00E7 ccedilla
|
||||||
|
!E8 U+00E8 egrave
|
||||||
|
!E9 U+00E9 eacute
|
||||||
|
!EA U+00EA ecircumflex
|
||||||
|
!EB U+00EB edieresis
|
||||||
|
!EC U+00EC igrave
|
||||||
|
!ED U+00ED iacute
|
||||||
|
!EE U+00EE icircumflex
|
||||||
|
!EF U+00EF idieresis
|
||||||
|
!F0 U+011F gbreve
|
||||||
|
!F1 U+00F1 ntilde
|
||||||
|
!F2 U+00F2 ograve
|
||||||
|
!F3 U+00F3 oacute
|
||||||
|
!F4 U+00F4 ocircumflex
|
||||||
|
!F5 U+00F5 otilde
|
||||||
|
!F6 U+00F6 odieresis
|
||||||
|
!F7 U+00F7 divide
|
||||||
|
!F8 U+00F8 oslash
|
||||||
|
!F9 U+00F9 ugrave
|
||||||
|
!FA U+00FA uacute
|
||||||
|
!FB U+00FB ucircumflex
|
||||||
|
!FC U+00FC udieresis
|
||||||
|
!FD U+0131 dotlessi
|
||||||
|
!FE U+015F scedilla
|
||||||
|
!FF U+00FF ydieresis
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+2500 SF100000
|
||||||
|
!81 U+2502 SF110000
|
||||||
|
!82 U+250C SF010000
|
||||||
|
!83 U+2510 SF030000
|
||||||
|
!84 U+2514 SF020000
|
||||||
|
!85 U+2518 SF040000
|
||||||
|
!86 U+251C SF080000
|
||||||
|
!87 U+2524 SF090000
|
||||||
|
!88 U+252C SF060000
|
||||||
|
!89 U+2534 SF070000
|
||||||
|
!8A U+253C SF050000
|
||||||
|
!8B U+2580 upblock
|
||||||
|
!8C U+2584 dnblock
|
||||||
|
!8D U+2588 block
|
||||||
|
!8E U+258C lfblock
|
||||||
|
!8F U+2590 rtblock
|
||||||
|
!90 U+2591 ltshade
|
||||||
|
!91 U+2592 shade
|
||||||
|
!92 U+2593 dkshade
|
||||||
|
!93 U+2320 integraltp
|
||||||
|
!94 U+25A0 filledbox
|
||||||
|
!95 U+2219 periodcentered
|
||||||
|
!96 U+221A radical
|
||||||
|
!97 U+2248 approxequal
|
||||||
|
!98 U+2264 lessequal
|
||||||
|
!99 U+2265 greaterequal
|
||||||
|
!9A U+00A0 space
|
||||||
|
!9B U+2321 integralbt
|
||||||
|
!9C U+00B0 degree
|
||||||
|
!9D U+00B2 twosuperior
|
||||||
|
!9E U+00B7 periodcentered
|
||||||
|
!9F U+00F7 divide
|
||||||
|
!A0 U+2550 SF430000
|
||||||
|
!A1 U+2551 SF240000
|
||||||
|
!A2 U+2552 SF510000
|
||||||
|
!A3 U+0451 afii10071
|
||||||
|
!A4 U+2553 SF520000
|
||||||
|
!A5 U+2554 SF390000
|
||||||
|
!A6 U+2555 SF220000
|
||||||
|
!A7 U+2556 SF210000
|
||||||
|
!A8 U+2557 SF250000
|
||||||
|
!A9 U+2558 SF500000
|
||||||
|
!AA U+2559 SF490000
|
||||||
|
!AB U+255A SF380000
|
||||||
|
!AC U+255B SF280000
|
||||||
|
!AD U+255C SF270000
|
||||||
|
!AE U+255D SF260000
|
||||||
|
!AF U+255E SF360000
|
||||||
|
!B0 U+255F SF370000
|
||||||
|
!B1 U+2560 SF420000
|
||||||
|
!B2 U+2561 SF190000
|
||||||
|
!B3 U+0401 afii10023
|
||||||
|
!B4 U+2562 SF200000
|
||||||
|
!B5 U+2563 SF230000
|
||||||
|
!B6 U+2564 SF470000
|
||||||
|
!B7 U+2565 SF480000
|
||||||
|
!B8 U+2566 SF410000
|
||||||
|
!B9 U+2567 SF450000
|
||||||
|
!BA U+2568 SF460000
|
||||||
|
!BB U+2569 SF400000
|
||||||
|
!BC U+256A SF540000
|
||||||
|
!BD U+256B SF530000
|
||||||
|
!BE U+256C SF440000
|
||||||
|
!BF U+00A9 copyright
|
||||||
|
!C0 U+044E afii10096
|
||||||
|
!C1 U+0430 afii10065
|
||||||
|
!C2 U+0431 afii10066
|
||||||
|
!C3 U+0446 afii10088
|
||||||
|
!C4 U+0434 afii10069
|
||||||
|
!C5 U+0435 afii10070
|
||||||
|
!C6 U+0444 afii10086
|
||||||
|
!C7 U+0433 afii10068
|
||||||
|
!C8 U+0445 afii10087
|
||||||
|
!C9 U+0438 afii10074
|
||||||
|
!CA U+0439 afii10075
|
||||||
|
!CB U+043A afii10076
|
||||||
|
!CC U+043B afii10077
|
||||||
|
!CD U+043C afii10078
|
||||||
|
!CE U+043D afii10079
|
||||||
|
!CF U+043E afii10080
|
||||||
|
!D0 U+043F afii10081
|
||||||
|
!D1 U+044F afii10097
|
||||||
|
!D2 U+0440 afii10082
|
||||||
|
!D3 U+0441 afii10083
|
||||||
|
!D4 U+0442 afii10084
|
||||||
|
!D5 U+0443 afii10085
|
||||||
|
!D6 U+0436 afii10072
|
||||||
|
!D7 U+0432 afii10067
|
||||||
|
!D8 U+044C afii10094
|
||||||
|
!D9 U+044B afii10093
|
||||||
|
!DA U+0437 afii10073
|
||||||
|
!DB U+0448 afii10090
|
||||||
|
!DC U+044D afii10095
|
||||||
|
!DD U+0449 afii10091
|
||||||
|
!DE U+0447 afii10089
|
||||||
|
!DF U+044A afii10092
|
||||||
|
!E0 U+042E afii10048
|
||||||
|
!E1 U+0410 afii10017
|
||||||
|
!E2 U+0411 afii10018
|
||||||
|
!E3 U+0426 afii10040
|
||||||
|
!E4 U+0414 afii10021
|
||||||
|
!E5 U+0415 afii10022
|
||||||
|
!E6 U+0424 afii10038
|
||||||
|
!E7 U+0413 afii10020
|
||||||
|
!E8 U+0425 afii10039
|
||||||
|
!E9 U+0418 afii10026
|
||||||
|
!EA U+0419 afii10027
|
||||||
|
!EB U+041A afii10028
|
||||||
|
!EC U+041B afii10029
|
||||||
|
!ED U+041C afii10030
|
||||||
|
!EE U+041D afii10031
|
||||||
|
!EF U+041E afii10032
|
||||||
|
!F0 U+041F afii10033
|
||||||
|
!F1 U+042F afii10049
|
||||||
|
!F2 U+0420 afii10034
|
||||||
|
!F3 U+0421 afii10035
|
||||||
|
!F4 U+0422 afii10036
|
||||||
|
!F5 U+0423 afii10037
|
||||||
|
!F6 U+0416 afii10024
|
||||||
|
!F7 U+0412 afii10019
|
||||||
|
!F8 U+042C afii10046
|
||||||
|
!F9 U+042B afii10045
|
||||||
|
!FA U+0417 afii10025
|
||||||
|
!FB U+0428 afii10042
|
||||||
|
!FC U+042D afii10047
|
||||||
|
!FD U+0429 afii10043
|
||||||
|
!FE U+0427 afii10041
|
||||||
|
!FF U+042A afii10044
|
|
@ -0,0 +1,256 @@
|
||||||
|
!00 U+0000 .notdef
|
||||||
|
!01 U+0001 .notdef
|
||||||
|
!02 U+0002 .notdef
|
||||||
|
!03 U+0003 .notdef
|
||||||
|
!04 U+0004 .notdef
|
||||||
|
!05 U+0005 .notdef
|
||||||
|
!06 U+0006 .notdef
|
||||||
|
!07 U+0007 .notdef
|
||||||
|
!08 U+0008 .notdef
|
||||||
|
!09 U+0009 .notdef
|
||||||
|
!0A U+000A .notdef
|
||||||
|
!0B U+000B .notdef
|
||||||
|
!0C U+000C .notdef
|
||||||
|
!0D U+000D .notdef
|
||||||
|
!0E U+000E .notdef
|
||||||
|
!0F U+000F .notdef
|
||||||
|
!10 U+0010 .notdef
|
||||||
|
!11 U+0011 .notdef
|
||||||
|
!12 U+0012 .notdef
|
||||||
|
!13 U+0013 .notdef
|
||||||
|
!14 U+0014 .notdef
|
||||||
|
!15 U+0015 .notdef
|
||||||
|
!16 U+0016 .notdef
|
||||||
|
!17 U+0017 .notdef
|
||||||
|
!18 U+0018 .notdef
|
||||||
|
!19 U+0019 .notdef
|
||||||
|
!1A U+001A .notdef
|
||||||
|
!1B U+001B .notdef
|
||||||
|
!1C U+001C .notdef
|
||||||
|
!1D U+001D .notdef
|
||||||
|
!1E U+001E .notdef
|
||||||
|
!1F U+001F .notdef
|
||||||
|
!20 U+0020 space
|
||||||
|
!21 U+0021 exclam
|
||||||
|
!22 U+0022 quotedbl
|
||||||
|
!23 U+0023 numbersign
|
||||||
|
!24 U+0024 dollar
|
||||||
|
!25 U+0025 percent
|
||||||
|
!26 U+0026 ampersand
|
||||||
|
!27 U+0027 quotesingle
|
||||||
|
!28 U+0028 parenleft
|
||||||
|
!29 U+0029 parenright
|
||||||
|
!2A U+002A asterisk
|
||||||
|
!2B U+002B plus
|
||||||
|
!2C U+002C comma
|
||||||
|
!2D U+002D hyphen
|
||||||
|
!2E U+002E period
|
||||||
|
!2F U+002F slash
|
||||||
|
!30 U+0030 zero
|
||||||
|
!31 U+0031 one
|
||||||
|
!32 U+0032 two
|
||||||
|
!33 U+0033 three
|
||||||
|
!34 U+0034 four
|
||||||
|
!35 U+0035 five
|
||||||
|
!36 U+0036 six
|
||||||
|
!37 U+0037 seven
|
||||||
|
!38 U+0038 eight
|
||||||
|
!39 U+0039 nine
|
||||||
|
!3A U+003A colon
|
||||||
|
!3B U+003B semicolon
|
||||||
|
!3C U+003C less
|
||||||
|
!3D U+003D equal
|
||||||
|
!3E U+003E greater
|
||||||
|
!3F U+003F question
|
||||||
|
!40 U+0040 at
|
||||||
|
!41 U+0041 A
|
||||||
|
!42 U+0042 B
|
||||||
|
!43 U+0043 C
|
||||||
|
!44 U+0044 D
|
||||||
|
!45 U+0045 E
|
||||||
|
!46 U+0046 F
|
||||||
|
!47 U+0047 G
|
||||||
|
!48 U+0048 H
|
||||||
|
!49 U+0049 I
|
||||||
|
!4A U+004A J
|
||||||
|
!4B U+004B K
|
||||||
|
!4C U+004C L
|
||||||
|
!4D U+004D M
|
||||||
|
!4E U+004E N
|
||||||
|
!4F U+004F O
|
||||||
|
!50 U+0050 P
|
||||||
|
!51 U+0051 Q
|
||||||
|
!52 U+0052 R
|
||||||
|
!53 U+0053 S
|
||||||
|
!54 U+0054 T
|
||||||
|
!55 U+0055 U
|
||||||
|
!56 U+0056 V
|
||||||
|
!57 U+0057 W
|
||||||
|
!58 U+0058 X
|
||||||
|
!59 U+0059 Y
|
||||||
|
!5A U+005A Z
|
||||||
|
!5B U+005B bracketleft
|
||||||
|
!5C U+005C backslash
|
||||||
|
!5D U+005D bracketright
|
||||||
|
!5E U+005E asciicircum
|
||||||
|
!5F U+005F underscore
|
||||||
|
!60 U+0060 grave
|
||||||
|
!61 U+0061 a
|
||||||
|
!62 U+0062 b
|
||||||
|
!63 U+0063 c
|
||||||
|
!64 U+0064 d
|
||||||
|
!65 U+0065 e
|
||||||
|
!66 U+0066 f
|
||||||
|
!67 U+0067 g
|
||||||
|
!68 U+0068 h
|
||||||
|
!69 U+0069 i
|
||||||
|
!6A U+006A j
|
||||||
|
!6B U+006B k
|
||||||
|
!6C U+006C l
|
||||||
|
!6D U+006D m
|
||||||
|
!6E U+006E n
|
||||||
|
!6F U+006F o
|
||||||
|
!70 U+0070 p
|
||||||
|
!71 U+0071 q
|
||||||
|
!72 U+0072 r
|
||||||
|
!73 U+0073 s
|
||||||
|
!74 U+0074 t
|
||||||
|
!75 U+0075 u
|
||||||
|
!76 U+0076 v
|
||||||
|
!77 U+0077 w
|
||||||
|
!78 U+0078 x
|
||||||
|
!79 U+0079 y
|
||||||
|
!7A U+007A z
|
||||||
|
!7B U+007B braceleft
|
||||||
|
!7C U+007C bar
|
||||||
|
!7D U+007D braceright
|
||||||
|
!7E U+007E asciitilde
|
||||||
|
!7F U+007F .notdef
|
||||||
|
!80 U+2500 SF100000
|
||||||
|
!81 U+2502 SF110000
|
||||||
|
!82 U+250C SF010000
|
||||||
|
!83 U+2510 SF030000
|
||||||
|
!84 U+2514 SF020000
|
||||||
|
!85 U+2518 SF040000
|
||||||
|
!86 U+251C SF080000
|
||||||
|
!87 U+2524 SF090000
|
||||||
|
!88 U+252C SF060000
|
||||||
|
!89 U+2534 SF070000
|
||||||
|
!8A U+253C SF050000
|
||||||
|
!8B U+2580 upblock
|
||||||
|
!8C U+2584 dnblock
|
||||||
|
!8D U+2588 block
|
||||||
|
!8E U+258C lfblock
|
||||||
|
!8F U+2590 rtblock
|
||||||
|
!90 U+2591 ltshade
|
||||||
|
!91 U+2592 shade
|
||||||
|
!92 U+2593 dkshade
|
||||||
|
!93 U+2320 integraltp
|
||||||
|
!94 U+25A0 filledbox
|
||||||
|
!95 U+2022 bullet
|
||||||
|
!96 U+221A radical
|
||||||
|
!97 U+2248 approxequal
|
||||||
|
!98 U+2264 lessequal
|
||||||
|
!99 U+2265 greaterequal
|
||||||
|
!9A U+00A0 space
|
||||||
|
!9B U+2321 integralbt
|
||||||
|
!9C U+00B0 degree
|
||||||
|
!9D U+00B2 twosuperior
|
||||||
|
!9E U+00B7 periodcentered
|
||||||
|
!9F U+00F7 divide
|
||||||
|
!A0 U+2550 SF430000
|
||||||
|
!A1 U+2551 SF240000
|
||||||
|
!A2 U+2552 SF510000
|
||||||
|
!A3 U+0451 afii10071
|
||||||
|
!A4 U+0454 afii10101
|
||||||
|
!A5 U+2554 SF390000
|
||||||
|
!A6 U+0456 afii10103
|
||||||
|
!A7 U+0457 afii10104
|
||||||
|
!A8 U+2557 SF250000
|
||||||
|
!A9 U+2558 SF500000
|
||||||
|
!AA U+2559 SF490000
|
||||||
|
!AB U+255A SF380000
|
||||||
|
!AC U+255B SF280000
|
||||||
|
!AD U+0491 afii10098
|
||||||
|
!AE U+255D SF260000
|
||||||
|
!AF U+255E SF360000
|
||||||
|
!B0 U+255F SF370000
|
||||||
|
!B1 U+2560 SF420000
|
||||||
|
!B2 U+2561 SF190000
|
||||||
|
!B3 U+0401 afii10023
|
||||||
|
!B4 U+0404 afii10053
|
||||||
|
!B5 U+2563 SF230000
|
||||||
|
!B6 U+0406 afii10055
|
||||||
|
!B7 U+0407 afii10056
|
||||||
|
!B8 U+2566 SF410000
|
||||||
|
!B9 U+2567 SF450000
|
||||||
|
!BA U+2568 SF460000
|
||||||
|
!BB U+2569 SF400000
|
||||||
|
!BC U+256A SF540000
|
||||||
|
!BD U+0490 afii10050
|
||||||
|
!BE U+256C SF440000
|
||||||
|
!BF U+00A9 copyright
|
||||||
|
!C0 U+044E afii10096
|
||||||
|
!C1 U+0430 afii10065
|
||||||
|
!C2 U+0431 afii10066
|
||||||
|
!C3 U+0446 afii10088
|
||||||
|
!C4 U+0434 afii10069
|
||||||
|
!C5 U+0435 afii10070
|
||||||
|
!C6 U+0444 afii10086
|
||||||
|
!C7 U+0433 afii10068
|
||||||
|
!C8 U+0445 afii10087
|
||||||
|
!C9 U+0438 afii10074
|
||||||
|
!CA U+0439 afii10075
|
||||||
|
!CB U+043A afii10076
|
||||||
|
!CC U+043B afii10077
|
||||||
|
!CD U+043C afii10078
|
||||||
|
!CE U+043D afii10079
|
||||||
|
!CF U+043E afii10080
|
||||||
|
!D0 U+043F afii10081
|
||||||
|
!D1 U+044F afii10097
|
||||||
|
!D2 U+0440 afii10082
|
||||||
|
!D3 U+0441 afii10083
|
||||||
|
!D4 U+0442 afii10084
|
||||||
|
!D5 U+0443 afii10085
|
||||||
|
!D6 U+0436 afii10072
|
||||||
|
!D7 U+0432 afii10067
|
||||||
|
!D8 U+044C afii10094
|
||||||
|
!D9 U+044B afii10093
|
||||||
|
!DA U+0437 afii10073
|
||||||
|
!DB U+0448 afii10090
|
||||||
|
!DC U+044D afii10095
|
||||||
|
!DD U+0449 afii10091
|
||||||
|
!DE U+0447 afii10089
|
||||||
|
!DF U+044A afii10092
|
||||||
|
!E0 U+042E afii10048
|
||||||
|
!E1 U+0410 afii10017
|
||||||
|
!E2 U+0411 afii10018
|
||||||
|
!E3 U+0426 afii10040
|
||||||
|
!E4 U+0414 afii10021
|
||||||
|
!E5 U+0415 afii10022
|
||||||
|
!E6 U+0424 afii10038
|
||||||
|
!E7 U+0413 afii10020
|
||||||
|
!E8 U+0425 afii10039
|
||||||
|
!E9 U+0418 afii10026
|
||||||
|
!EA U+0419 afii10027
|
||||||
|
!EB U+041A afii10028
|
||||||
|
!EC U+041B afii10029
|
||||||
|
!ED U+041C afii10030
|
||||||
|
!EE U+041D afii10031
|
||||||
|
!EF U+041E afii10032
|
||||||
|
!F0 U+041F afii10033
|
||||||
|
!F1 U+042F afii10049
|
||||||
|
!F2 U+0420 afii10034
|
||||||
|
!F3 U+0421 afii10035
|
||||||
|
!F4 U+0422 afii10036
|
||||||
|
!F5 U+0423 afii10037
|
||||||
|
!F6 U+0416 afii10024
|
||||||
|
!F7 U+0412 afii10019
|
||||||
|
!F8 U+042C afii10046
|
||||||
|
!F9 U+042B afii10045
|
||||||
|
!FA U+0417 afii10025
|
||||||
|
!FB U+0428 afii10042
|
||||||
|
!FC U+042D afii10047
|
||||||
|
!FD U+0429 afii10043
|
||||||
|
!FE U+0427 afii10041
|
||||||
|
!FF U+042A afii10044
|
|
@ -0,0 +1,373 @@
|
||||||
|
<?php
|
||||||
|
/*******************************************************************************
|
||||||
|
* Utility to generate font definition files *
|
||||||
|
* *
|
||||||
|
* Version: 1.2 *
|
||||||
|
* Date: 2011-06-18 *
|
||||||
|
* Author: Olivier PLATHEY *
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
require('ttfparser.php');
|
||||||
|
|
||||||
|
function Message($txt, $severity='')
|
||||||
|
{
|
||||||
|
if(PHP_SAPI=='cli')
|
||||||
|
{
|
||||||
|
if($severity)
|
||||||
|
echo "$severity: ";
|
||||||
|
echo "$txt\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($severity)
|
||||||
|
echo "<b>$severity</b>: ";
|
||||||
|
echo "$txt<br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function Notice($txt)
|
||||||
|
{
|
||||||
|
Message($txt, 'Notice');
|
||||||
|
}
|
||||||
|
|
||||||
|
function Warning($txt)
|
||||||
|
{
|
||||||
|
Message($txt, 'Warning');
|
||||||
|
}
|
||||||
|
|
||||||
|
function Error($txt)
|
||||||
|
{
|
||||||
|
Message($txt, 'Error');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
function LoadMap($enc)
|
||||||
|
{
|
||||||
|
$file = dirname(__FILE__).'/'.strtolower($enc).'.map';
|
||||||
|
$a = file($file);
|
||||||
|
if(empty($a))
|
||||||
|
Error('Encoding not found: '.$enc);
|
||||||
|
$map = array_fill(0, 256, array('uv'=>-1, 'name'=>'.notdef'));
|
||||||
|
foreach($a as $line)
|
||||||
|
{
|
||||||
|
$e = explode(' ', rtrim($line));
|
||||||
|
$c = hexdec(substr($e[0],1));
|
||||||
|
$uv = hexdec(substr($e[1],2));
|
||||||
|
$name = $e[2];
|
||||||
|
$map[$c] = array('uv'=>$uv, 'name'=>$name);
|
||||||
|
}
|
||||||
|
return $map;
|
||||||
|
}
|
||||||
|
|
||||||
|
function GetInfoFromTrueType($file, $embed, $map)
|
||||||
|
{
|
||||||
|
// Return informations from a TrueType font
|
||||||
|
$ttf = new TTFParser();
|
||||||
|
$ttf->Parse($file);
|
||||||
|
if($embed)
|
||||||
|
{
|
||||||
|
if(!$ttf->Embeddable)
|
||||||
|
Error('Font license does not allow embedding');
|
||||||
|
$info['Data'] = file_get_contents($file);
|
||||||
|
$info['OriginalSize'] = filesize($file);
|
||||||
|
}
|
||||||
|
$k = 1000/$ttf->unitsPerEm;
|
||||||
|
$info['FontName'] = $ttf->postScriptName;
|
||||||
|
$info['Bold'] = $ttf->Bold;
|
||||||
|
$info['ItalicAngle'] = $ttf->italicAngle;
|
||||||
|
$info['IsFixedPitch'] = $ttf->isFixedPitch;
|
||||||
|
$info['Ascender'] = round($k*$ttf->typoAscender);
|
||||||
|
$info['Descender'] = round($k*$ttf->typoDescender);
|
||||||
|
$info['UnderlineThickness'] = round($k*$ttf->underlineThickness);
|
||||||
|
$info['UnderlinePosition'] = round($k*$ttf->underlinePosition);
|
||||||
|
$info['FontBBox'] = array(round($k*$ttf->xMin), round($k*$ttf->yMin), round($k*$ttf->xMax), round($k*$ttf->yMax));
|
||||||
|
$info['CapHeight'] = round($k*$ttf->capHeight);
|
||||||
|
$info['MissingWidth'] = round($k*$ttf->widths[0]);
|
||||||
|
$widths = array_fill(0, 256, $info['MissingWidth']);
|
||||||
|
for($c=0;$c<=255;$c++)
|
||||||
|
{
|
||||||
|
if($map[$c]['name']!='.notdef')
|
||||||
|
{
|
||||||
|
$uv = $map[$c]['uv'];
|
||||||
|
if(isset($ttf->chars[$uv]))
|
||||||
|
{
|
||||||
|
$w = $ttf->widths[$ttf->chars[$uv]];
|
||||||
|
$widths[$c] = round($k*$w);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Warning('Character '.$map[$c]['name'].' is missing');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$info['Widths'] = $widths;
|
||||||
|
return $info;
|
||||||
|
}
|
||||||
|
|
||||||
|
function GetInfoFromType1($file, $embed, $map)
|
||||||
|
{
|
||||||
|
// Return informations from a Type1 font
|
||||||
|
if($embed)
|
||||||
|
{
|
||||||
|
$f = fopen($file, 'rb');
|
||||||
|
if(!$f)
|
||||||
|
Error('Can\'t open font file');
|
||||||
|
// Read first segment
|
||||||
|
$a = unpack('Cmarker/Ctype/Vsize', fread($f,6));
|
||||||
|
if($a['marker']!=128)
|
||||||
|
Error('Font file is not a valid binary Type1');
|
||||||
|
$size1 = $a['size'];
|
||||||
|
$data = fread($f, $size1);
|
||||||
|
// Read second segment
|
||||||
|
$a = unpack('Cmarker/Ctype/Vsize', fread($f,6));
|
||||||
|
if($a['marker']!=128)
|
||||||
|
Error('Font file is not a valid binary Type1');
|
||||||
|
$size2 = $a['size'];
|
||||||
|
$data .= fread($f, $size2);
|
||||||
|
fclose($f);
|
||||||
|
$info['Data'] = $data;
|
||||||
|
$info['Size1'] = $size1;
|
||||||
|
$info['Size2'] = $size2;
|
||||||
|
}
|
||||||
|
|
||||||
|
$afm = substr($file, 0, -3).'afm';
|
||||||
|
if(!file_exists($afm))
|
||||||
|
Error('AFM font file not found: '.$afm);
|
||||||
|
$a = file($afm);
|
||||||
|
if(empty($a))
|
||||||
|
Error('AFM file empty or not readable');
|
||||||
|
foreach($a as $line)
|
||||||
|
{
|
||||||
|
$e = explode(' ', rtrim($line));
|
||||||
|
if(count($e)<2)
|
||||||
|
continue;
|
||||||
|
$entry = $e[0];
|
||||||
|
if($entry=='C')
|
||||||
|
{
|
||||||
|
$w = $e[4];
|
||||||
|
$name = $e[7];
|
||||||
|
$cw[$name] = $w;
|
||||||
|
}
|
||||||
|
elseif($entry=='FontName')
|
||||||
|
$info['FontName'] = $e[1];
|
||||||
|
elseif($entry=='Weight')
|
||||||
|
$info['Weight'] = $e[1];
|
||||||
|
elseif($entry=='ItalicAngle')
|
||||||
|
$info['ItalicAngle'] = (int)$e[1];
|
||||||
|
elseif($entry=='Ascender')
|
||||||
|
$info['Ascender'] = (int)$e[1];
|
||||||
|
elseif($entry=='Descender')
|
||||||
|
$info['Descender'] = (int)$e[1];
|
||||||
|
elseif($entry=='UnderlineThickness')
|
||||||
|
$info['UnderlineThickness'] = (int)$e[1];
|
||||||
|
elseif($entry=='UnderlinePosition')
|
||||||
|
$info['UnderlinePosition'] = (int)$e[1];
|
||||||
|
elseif($entry=='IsFixedPitch')
|
||||||
|
$info['IsFixedPitch'] = ($e[1]=='true');
|
||||||
|
elseif($entry=='FontBBox')
|
||||||
|
$info['FontBBox'] = array((int)$e[1], (int)$e[2], (int)$e[3], (int)$e[4]);
|
||||||
|
elseif($entry=='CapHeight')
|
||||||
|
$info['CapHeight'] = (int)$e[1];
|
||||||
|
elseif($entry=='StdVW')
|
||||||
|
$info['StdVW'] = (int)$e[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!isset($info['FontName']))
|
||||||
|
Error('FontName missing in AFM file');
|
||||||
|
$info['Bold'] = isset($info['Weight']) && preg_match('/bold|black/i', $info['Weight']);
|
||||||
|
if(isset($cw['.notdef']))
|
||||||
|
$info['MissingWidth'] = $cw['.notdef'];
|
||||||
|
else
|
||||||
|
$info['MissingWidth'] = 0;
|
||||||
|
$widths = array_fill(0, 256, $info['MissingWidth']);
|
||||||
|
for($c=0;$c<=255;$c++)
|
||||||
|
{
|
||||||
|
$name = $map[$c]['name'];
|
||||||
|
if($name!='.notdef')
|
||||||
|
{
|
||||||
|
if(isset($cw[$name]))
|
||||||
|
$widths[$c] = $cw[$name];
|
||||||
|
else
|
||||||
|
Warning('Character '.$name.' is missing');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$info['Widths'] = $widths;
|
||||||
|
return $info;
|
||||||
|
}
|
||||||
|
|
||||||
|
function MakeFontDescriptor($info)
|
||||||
|
{
|
||||||
|
// Ascent
|
||||||
|
$fd = "array('Ascent'=>".$info['Ascender'];
|
||||||
|
// Descent
|
||||||
|
$fd .= ",'Descent'=>".$info['Descender'];
|
||||||
|
// CapHeight
|
||||||
|
if(!empty($info['CapHeight']))
|
||||||
|
$fd .= ",'CapHeight'=>".$info['CapHeight'];
|
||||||
|
else
|
||||||
|
$fd .= ",'CapHeight'=>".$info['Ascender'];
|
||||||
|
// Flags
|
||||||
|
$flags = 0;
|
||||||
|
if($info['IsFixedPitch'])
|
||||||
|
$flags += 1<<0;
|
||||||
|
$flags += 1<<5;
|
||||||
|
if($info['ItalicAngle']!=0)
|
||||||
|
$flags += 1<<6;
|
||||||
|
$fd .= ",'Flags'=>".$flags;
|
||||||
|
// FontBBox
|
||||||
|
$fbb = $info['FontBBox'];
|
||||||
|
$fd .= ",'FontBBox'=>'[".$fbb[0].' '.$fbb[1].' '.$fbb[2].' '.$fbb[3]."]'";
|
||||||
|
// ItalicAngle
|
||||||
|
$fd .= ",'ItalicAngle'=>".$info['ItalicAngle'];
|
||||||
|
// StemV
|
||||||
|
if(isset($info['StdVW']))
|
||||||
|
$stemv = $info['StdVW'];
|
||||||
|
elseif($info['Bold'])
|
||||||
|
$stemv = 120;
|
||||||
|
else
|
||||||
|
$stemv = 70;
|
||||||
|
$fd .= ",'StemV'=>".$stemv;
|
||||||
|
// MissingWidth
|
||||||
|
$fd .= ",'MissingWidth'=>".$info['MissingWidth'].')';
|
||||||
|
return $fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
function MakeWidthArray($widths)
|
||||||
|
{
|
||||||
|
$s = "array(\n\t";
|
||||||
|
for($c=0;$c<=255;$c++)
|
||||||
|
{
|
||||||
|
if(chr($c)=="'")
|
||||||
|
$s .= "'\\''";
|
||||||
|
elseif(chr($c)=="\\")
|
||||||
|
$s .= "'\\\\'";
|
||||||
|
elseif($c>=32 && $c<=126)
|
||||||
|
$s .= "'".chr($c)."'";
|
||||||
|
else
|
||||||
|
$s .= "chr($c)";
|
||||||
|
$s .= '=>'.$widths[$c];
|
||||||
|
if($c<255)
|
||||||
|
$s .= ',';
|
||||||
|
if(($c+1)%22==0)
|
||||||
|
$s .= "\n\t";
|
||||||
|
}
|
||||||
|
$s .= ')';
|
||||||
|
return $s;
|
||||||
|
}
|
||||||
|
|
||||||
|
function MakeFontEncoding($map)
|
||||||
|
{
|
||||||
|
// Build differences from reference encoding
|
||||||
|
$ref = LoadMap('cp1252');
|
||||||
|
$s = '';
|
||||||
|
$last = 0;
|
||||||
|
for($c=32;$c<=255;$c++)
|
||||||
|
{
|
||||||
|
if($map[$c]['name']!=$ref[$c]['name'])
|
||||||
|
{
|
||||||
|
if($c!=$last+1)
|
||||||
|
$s .= $c.' ';
|
||||||
|
$last = $c;
|
||||||
|
$s .= '/'.$map[$c]['name'].' ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rtrim($s);
|
||||||
|
}
|
||||||
|
|
||||||
|
function SaveToFile($file, $s, $mode)
|
||||||
|
{
|
||||||
|
$f = fopen($file, 'w'.$mode);
|
||||||
|
if(!$f)
|
||||||
|
Error('Can\'t write to file '.$file);
|
||||||
|
fwrite($f, $s, strlen($s));
|
||||||
|
fclose($f);
|
||||||
|
}
|
||||||
|
|
||||||
|
function MakeDefinitionFile($file, $type, $enc, $embed, $map, $info)
|
||||||
|
{
|
||||||
|
$s = "<?php\n";
|
||||||
|
$s .= '$type = \''.$type."';\n";
|
||||||
|
$s .= '$name = \''.$info['FontName']."';\n";
|
||||||
|
$s .= '$desc = '.MakeFontDescriptor($info).";\n";
|
||||||
|
$s .= '$up = '.$info['UnderlinePosition'].";\n";
|
||||||
|
$s .= '$ut = '.$info['UnderlineThickness'].";\n";
|
||||||
|
$s .= '$cw = '.MakeWidthArray($info['Widths']).";\n";
|
||||||
|
$s .= '$enc = \''.$enc."';\n";
|
||||||
|
$diff = MakeFontEncoding($map);
|
||||||
|
if($diff)
|
||||||
|
$s .= '$diff = \''.$diff."';\n";
|
||||||
|
if($embed)
|
||||||
|
{
|
||||||
|
$s .= '$file = \''.$info['File']."';\n";
|
||||||
|
if($type=='Type1')
|
||||||
|
{
|
||||||
|
$s .= '$size1 = '.$info['Size1'].";\n";
|
||||||
|
$s .= '$size2 = '.$info['Size2'].";\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$s .= '$originalsize = '.$info['OriginalSize'].";\n";
|
||||||
|
}
|
||||||
|
$s .= "?>\n";
|
||||||
|
SaveToFile($file, $s, 't');
|
||||||
|
}
|
||||||
|
|
||||||
|
function MakeFont($fontfile, $enc='cp1252', $embed=true)
|
||||||
|
{
|
||||||
|
// Generate a font definition file
|
||||||
|
if(get_magic_quotes_runtime())
|
||||||
|
@set_magic_quotes_runtime(0);
|
||||||
|
ini_set('auto_detect_line_endings', '1');
|
||||||
|
|
||||||
|
if(!file_exists($fontfile))
|
||||||
|
Error('Font file not found: '.$fontfile);
|
||||||
|
$ext = strtolower(substr($fontfile,-3));
|
||||||
|
if($ext=='ttf' || $ext=='otf')
|
||||||
|
$type = 'TrueType';
|
||||||
|
elseif($ext=='pfb')
|
||||||
|
$type = 'Type1';
|
||||||
|
else
|
||||||
|
Error('Unrecognized font file extension: '.$ext);
|
||||||
|
|
||||||
|
$map = LoadMap($enc);
|
||||||
|
|
||||||
|
if($type=='TrueType')
|
||||||
|
$info = GetInfoFromTrueType($fontfile, $embed, $map);
|
||||||
|
else
|
||||||
|
$info = GetInfoFromType1($fontfile, $embed, $map);
|
||||||
|
|
||||||
|
$basename = substr(basename($fontfile), 0, -4);
|
||||||
|
if($embed)
|
||||||
|
{
|
||||||
|
if(function_exists('gzcompress'))
|
||||||
|
{
|
||||||
|
$file = $basename.'.z';
|
||||||
|
SaveToFile($file, gzcompress($info['Data']), 'b');
|
||||||
|
$info['File'] = $file;
|
||||||
|
Message('Font file compressed: '.$file);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$info['File'] = basename($fontfile);
|
||||||
|
Notice('Font file could not be compressed (zlib extension not available)');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MakeDefinitionFile($basename.'.php', $type, $enc, $embed, $map, $info);
|
||||||
|
Message('Font definition file generated: '.$basename.'.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(PHP_SAPI=='cli')
|
||||||
|
{
|
||||||
|
// Command-line interface
|
||||||
|
if($argc==1)
|
||||||
|
die("Usage: php makefont.php fontfile [enc] [embed]\n");
|
||||||
|
$fontfile = $argv[1];
|
||||||
|
if($argc>=3)
|
||||||
|
$enc = $argv[2];
|
||||||
|
else
|
||||||
|
$enc = 'cp1252';
|
||||||
|
if($argc>=4)
|
||||||
|
$embed = ($argv[3]=='true' || $argv[3]=='1');
|
||||||
|
else
|
||||||
|
$embed = true;
|
||||||
|
MakeFont($fontfile, $enc, $embed);
|
||||||
|
}
|
||||||
|
?>
|
|
@ -0,0 +1,289 @@
|
||||||
|
<?php
|
||||||
|
/*******************************************************************************
|
||||||
|
* Utility to parse TTF font files *
|
||||||
|
* *
|
||||||
|
* Version: 1.0 *
|
||||||
|
* Date: 2011-06-18 *
|
||||||
|
* Author: Olivier PLATHEY *
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
class TTFParser
|
||||||
|
{
|
||||||
|
var $f;
|
||||||
|
var $tables;
|
||||||
|
var $unitsPerEm;
|
||||||
|
var $xMin, $yMin, $xMax, $yMax;
|
||||||
|
var $numberOfHMetrics;
|
||||||
|
var $numGlyphs;
|
||||||
|
var $widths;
|
||||||
|
var $chars;
|
||||||
|
var $postScriptName;
|
||||||
|
var $Embeddable;
|
||||||
|
var $Bold;
|
||||||
|
var $typoAscender;
|
||||||
|
var $typoDescender;
|
||||||
|
var $capHeight;
|
||||||
|
var $italicAngle;
|
||||||
|
var $underlinePosition;
|
||||||
|
var $underlineThickness;
|
||||||
|
var $isFixedPitch;
|
||||||
|
|
||||||
|
function Parse($file)
|
||||||
|
{
|
||||||
|
$this->f = fopen($file, 'rb');
|
||||||
|
if(!$this->f)
|
||||||
|
$this->Error('Can\'t open file: '.$file);
|
||||||
|
|
||||||
|
$version = $this->Read(4);
|
||||||
|
if($version=='OTTO')
|
||||||
|
$this->Error('OpenType fonts based on PostScript outlines are not supported');
|
||||||
|
if($version!="\x00\x01\x00\x00")
|
||||||
|
$this->Error('Unrecognized file format');
|
||||||
|
$numTables = $this->ReadUShort();
|
||||||
|
$this->Skip(3*2); // searchRange, entrySelector, rangeShift
|
||||||
|
$this->tables = array();
|
||||||
|
for($i=0;$i<$numTables;$i++)
|
||||||
|
{
|
||||||
|
$tag = $this->Read(4);
|
||||||
|
$this->Skip(4); // checkSum
|
||||||
|
$offset = $this->ReadULong();
|
||||||
|
$this->Skip(4); // length
|
||||||
|
$this->tables[$tag] = $offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->ParseHead();
|
||||||
|
$this->ParseHhea();
|
||||||
|
$this->ParseMaxp();
|
||||||
|
$this->ParseHmtx();
|
||||||
|
$this->ParseCmap();
|
||||||
|
$this->ParseName();
|
||||||
|
$this->ParseOS2();
|
||||||
|
$this->ParsePost();
|
||||||
|
|
||||||
|
fclose($this->f);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ParseHead()
|
||||||
|
{
|
||||||
|
$this->Seek('head');
|
||||||
|
$this->Skip(3*4); // version, fontRevision, checkSumAdjustment
|
||||||
|
$magicNumber = $this->ReadULong();
|
||||||
|
if($magicNumber!=0x5F0F3CF5)
|
||||||
|
$this->Error('Incorrect magic number');
|
||||||
|
$this->Skip(2); // flags
|
||||||
|
$this->unitsPerEm = $this->ReadUShort();
|
||||||
|
$this->Skip(2*8); // created, modified
|
||||||
|
$this->xMin = $this->ReadShort();
|
||||||
|
$this->yMin = $this->ReadShort();
|
||||||
|
$this->xMax = $this->ReadShort();
|
||||||
|
$this->yMax = $this->ReadShort();
|
||||||
|
}
|
||||||
|
|
||||||
|
function ParseHhea()
|
||||||
|
{
|
||||||
|
$this->Seek('hhea');
|
||||||
|
$this->Skip(4+15*2);
|
||||||
|
$this->numberOfHMetrics = $this->ReadUShort();
|
||||||
|
}
|
||||||
|
|
||||||
|
function ParseMaxp()
|
||||||
|
{
|
||||||
|
$this->Seek('maxp');
|
||||||
|
$this->Skip(4);
|
||||||
|
$this->numGlyphs = $this->ReadUShort();
|
||||||
|
}
|
||||||
|
|
||||||
|
function ParseHmtx()
|
||||||
|
{
|
||||||
|
$this->Seek('hmtx');
|
||||||
|
$this->widths = array();
|
||||||
|
for($i=0;$i<$this->numberOfHMetrics;$i++)
|
||||||
|
{
|
||||||
|
$advanceWidth = $this->ReadUShort();
|
||||||
|
$this->Skip(2); // lsb
|
||||||
|
$this->widths[$i] = $advanceWidth;
|
||||||
|
}
|
||||||
|
if($this->numberOfHMetrics<$this->numGlyphs)
|
||||||
|
{
|
||||||
|
$lastWidth = $this->widths[$this->numberOfHMetrics-1];
|
||||||
|
$this->widths = array_pad($this->widths, $this->numGlyphs, $lastWidth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function ParseCmap()
|
||||||
|
{
|
||||||
|
$this->Seek('cmap');
|
||||||
|
$this->Skip(2); // version
|
||||||
|
$numTables = $this->ReadUShort();
|
||||||
|
$offset31 = 0;
|
||||||
|
for($i=0;$i<$numTables;$i++)
|
||||||
|
{
|
||||||
|
$platformID = $this->ReadUShort();
|
||||||
|
$encodingID = $this->ReadUShort();
|
||||||
|
$offset = $this->ReadULong();
|
||||||
|
if($platformID==3 && $encodingID==1)
|
||||||
|
$offset31 = $offset;
|
||||||
|
}
|
||||||
|
if($offset31==0)
|
||||||
|
$this->Error('No Unicode encoding found');
|
||||||
|
|
||||||
|
$startCount = array();
|
||||||
|
$endCount = array();
|
||||||
|
$idDelta = array();
|
||||||
|
$idRangeOffset = array();
|
||||||
|
$this->chars = array();
|
||||||
|
fseek($this->f, $this->tables['cmap']+$offset31, SEEK_SET);
|
||||||
|
$format = $this->ReadUShort();
|
||||||
|
if($format!=4)
|
||||||
|
$this->Error('Unexpected subtable format: '.$format);
|
||||||
|
$this->Skip(2*2); // length, language
|
||||||
|
$segCount = $this->ReadUShort()/2;
|
||||||
|
$this->Skip(3*2); // searchRange, entrySelector, rangeShift
|
||||||
|
for($i=0;$i<$segCount;$i++)
|
||||||
|
$endCount[$i] = $this->ReadUShort();
|
||||||
|
$this->Skip(2); // reservedPad
|
||||||
|
for($i=0;$i<$segCount;$i++)
|
||||||
|
$startCount[$i] = $this->ReadUShort();
|
||||||
|
for($i=0;$i<$segCount;$i++)
|
||||||
|
$idDelta[$i] = $this->ReadShort();
|
||||||
|
$offset = ftell($this->f);
|
||||||
|
for($i=0;$i<$segCount;$i++)
|
||||||
|
$idRangeOffset[$i] = $this->ReadUShort();
|
||||||
|
|
||||||
|
for($i=0;$i<$segCount;$i++)
|
||||||
|
{
|
||||||
|
$c1 = $startCount[$i];
|
||||||
|
$c2 = $endCount[$i];
|
||||||
|
$d = $idDelta[$i];
|
||||||
|
$ro = $idRangeOffset[$i];
|
||||||
|
if($ro>0)
|
||||||
|
fseek($this->f, $offset+2*$i+$ro, SEEK_SET);
|
||||||
|
for($c=$c1;$c<=$c2;$c++)
|
||||||
|
{
|
||||||
|
if($c==0xFFFF)
|
||||||
|
break;
|
||||||
|
if($ro>0)
|
||||||
|
{
|
||||||
|
$gid = $this->ReadUShort();
|
||||||
|
if($gid>0)
|
||||||
|
$gid += $d;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$gid = $c+$d;
|
||||||
|
if($gid>=65536)
|
||||||
|
$gid -= 65536;
|
||||||
|
if($gid>0)
|
||||||
|
$this->chars[$c] = $gid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function ParseName()
|
||||||
|
{
|
||||||
|
$this->Seek('name');
|
||||||
|
$tableOffset = ftell($this->f);
|
||||||
|
$this->postScriptName = '';
|
||||||
|
$this->Skip(2); // format
|
||||||
|
$count = $this->ReadUShort();
|
||||||
|
$stringOffset = $this->ReadUShort();
|
||||||
|
for($i=0;$i<$count;$i++)
|
||||||
|
{
|
||||||
|
$this->Skip(3*2); // platformID, encodingID, languageID
|
||||||
|
$nameID = $this->ReadUShort();
|
||||||
|
$length = $this->ReadUShort();
|
||||||
|
$offset = $this->ReadUShort();
|
||||||
|
if($nameID==6)
|
||||||
|
{
|
||||||
|
// PostScript name
|
||||||
|
fseek($this->f, $tableOffset+$stringOffset+$offset, SEEK_SET);
|
||||||
|
$s = $this->Read($length);
|
||||||
|
$s = str_replace(chr(0), '', $s);
|
||||||
|
$s = preg_replace('|[ \[\](){}<>/%]|', '', $s);
|
||||||
|
$this->postScriptName = $s;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($this->postScriptName=='')
|
||||||
|
$this->Error('PostScript name not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
function ParseOS2()
|
||||||
|
{
|
||||||
|
$this->Seek('OS/2');
|
||||||
|
$version = $this->ReadUShort();
|
||||||
|
$this->Skip(3*2); // xAvgCharWidth, usWeightClass, usWidthClass
|
||||||
|
$fsType = $this->ReadUShort();
|
||||||
|
$this->Embeddable = ($fsType!=2) && ($fsType & 0x200)==0;
|
||||||
|
$this->Skip(11*2+10+4*4+4);
|
||||||
|
$fsSelection = $this->ReadUShort();
|
||||||
|
$this->Bold = ($fsSelection & 32)!=0;
|
||||||
|
$this->Skip(2*2); // usFirstCharIndex, usLastCharIndex
|
||||||
|
$this->typoAscender = $this->ReadShort();
|
||||||
|
$this->typoDescender = $this->ReadShort();
|
||||||
|
if($version>=2)
|
||||||
|
{
|
||||||
|
$this->Skip(3*2+2*4+2);
|
||||||
|
$this->capHeight = $this->ReadShort();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$this->capHeight = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function ParsePost()
|
||||||
|
{
|
||||||
|
$this->Seek('post');
|
||||||
|
$this->Skip(4); // version
|
||||||
|
$this->italicAngle = $this->ReadShort();
|
||||||
|
$this->Skip(2); // Skip decimal part
|
||||||
|
$this->underlinePosition = $this->ReadShort();
|
||||||
|
$this->underlineThickness = $this->ReadShort();
|
||||||
|
$this->isFixedPitch = ($this->ReadULong()!=0);
|
||||||
|
}
|
||||||
|
|
||||||
|
function Error($msg)
|
||||||
|
{
|
||||||
|
if(PHP_SAPI=='cli')
|
||||||
|
die("Error: $msg\n");
|
||||||
|
else
|
||||||
|
die("<b>Error</b>: $msg");
|
||||||
|
}
|
||||||
|
|
||||||
|
function Seek($tag)
|
||||||
|
{
|
||||||
|
if(!isset($this->tables[$tag]))
|
||||||
|
$this->Error('Table not found: '.$tag);
|
||||||
|
fseek($this->f, $this->tables[$tag], SEEK_SET);
|
||||||
|
}
|
||||||
|
|
||||||
|
function Skip($n)
|
||||||
|
{
|
||||||
|
fseek($this->f, $n, SEEK_CUR);
|
||||||
|
}
|
||||||
|
|
||||||
|
function Read($n)
|
||||||
|
{
|
||||||
|
return fread($this->f, $n);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ReadUShort()
|
||||||
|
{
|
||||||
|
$a = unpack('nn', fread($this->f,2));
|
||||||
|
return $a['n'];
|
||||||
|
}
|
||||||
|
|
||||||
|
function ReadShort()
|
||||||
|
{
|
||||||
|
$a = unpack('nn', fread($this->f,2));
|
||||||
|
$v = $a['n'];
|
||||||
|
if($v>=0x8000)
|
||||||
|
$v -= 65536;
|
||||||
|
return $v;
|
||||||
|
}
|
||||||
|
|
||||||
|
function ReadULong()
|
||||||
|
{
|
||||||
|
$a = unpack('NN', fread($this->f,4));
|
||||||
|
return $a['N'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
|
@ -1,24 +1,23 @@
|
||||||
<?php
|
<?php
|
||||||
$type='TrueType';
|
$type = 'TrueType';
|
||||||
$name='Calligrapher-Regular';
|
$name = 'CalligrapherRegular';
|
||||||
$desc=array('Ascent'=>899,'Descent'=>-234,'CapHeight'=>731,'Flags'=>32,'FontBBox'=>'[-50 -234 1328 899]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>800);
|
$desc = array('Ascent'=>899,'Descent'=>-234,'CapHeight'=>899,'Flags'=>32,'FontBBox'=>'[-173 -234 1328 899]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>800);
|
||||||
$up=-200;
|
$up = -200;
|
||||||
$ut=20;
|
$ut = 20;
|
||||||
$cw=array(
|
$cw = array(
|
||||||
chr(0)=>800,chr(1)=>800,chr(2)=>800,chr(3)=>800,chr(4)=>800,chr(5)=>800,chr(6)=>800,chr(7)=>800,chr(8)=>800,chr(9)=>800,chr(10)=>800,chr(11)=>800,chr(12)=>800,chr(13)=>800,chr(14)=>800,chr(15)=>800,chr(16)=>800,chr(17)=>800,chr(18)=>800,chr(19)=>800,chr(20)=>800,chr(21)=>800,
|
chr(0)=>800,chr(1)=>800,chr(2)=>800,chr(3)=>800,chr(4)=>800,chr(5)=>800,chr(6)=>800,chr(7)=>800,chr(8)=>800,chr(9)=>800,chr(10)=>800,chr(11)=>800,chr(12)=>800,chr(13)=>800,chr(14)=>800,chr(15)=>800,chr(16)=>800,chr(17)=>800,chr(18)=>800,chr(19)=>800,chr(20)=>800,chr(21)=>800,
|
||||||
chr(22)=>800,chr(23)=>800,chr(24)=>800,chr(25)=>800,chr(26)=>800,chr(27)=>800,chr(28)=>800,chr(29)=>800,chr(30)=>800,chr(31)=>800,' '=>282,'!'=>324,'"'=>405,'#'=>584,'$'=>632,'%'=>980,'&'=>776,'\''=>259,'('=>299,')'=>299,'*'=>377,'+'=>600,
|
chr(22)=>800,chr(23)=>800,chr(24)=>800,chr(25)=>800,chr(26)=>800,chr(27)=>800,chr(28)=>800,chr(29)=>800,chr(30)=>800,chr(31)=>800,' '=>282,'!'=>324,'"'=>405,'#'=>584,'$'=>632,'%'=>980,'&'=>776,'\''=>259,'('=>299,')'=>299,'*'=>377,'+'=>600,
|
||||||
','=>259,'-'=>432,'.'=>254,'/'=>597,'0'=>529,'1'=>298,'2'=>451,'3'=>359,'4'=>525,'5'=>423,'6'=>464,'7'=>417,'8'=>457,'9'=>479,':'=>275,';'=>282,'<'=>600,'='=>600,'>'=>600,'?'=>501,'@'=>800,'A'=>743,
|
','=>259,'-'=>432,'.'=>254,'/'=>597,'0'=>529,'1'=>298,'2'=>451,'3'=>359,'4'=>525,'5'=>423,'6'=>464,'7'=>417,'8'=>457,'9'=>479,':'=>275,';'=>282,'<'=>600,'='=>600,'>'=>600,'?'=>501,'@'=>800,'A'=>743,
|
||||||
'B'=>636,'C'=>598,'D'=>712,'E'=>608,'F'=>562,'G'=>680,'H'=>756,'I'=>308,'J'=>314,'K'=>676,'L'=>552,'M'=>1041,'N'=>817,'O'=>729,'P'=>569,'Q'=>698,'R'=>674,'S'=>618,'T'=>673,'U'=>805,'V'=>753,'W'=>1238,
|
'B'=>636,'C'=>598,'D'=>712,'E'=>608,'F'=>562,'G'=>680,'H'=>756,'I'=>308,'J'=>314,'K'=>676,'L'=>552,'M'=>1041,'N'=>817,'O'=>729,'P'=>569,'Q'=>698,'R'=>674,'S'=>618,'T'=>673,'U'=>805,'V'=>753,'W'=>1238,
|
||||||
'X'=>716,'Y'=>754,'Z'=>599,'['=>315,'\\'=>463,']'=>315,'^'=>600,'_'=>547,'`'=>278,'a'=>581,'b'=>564,'c'=>440,'d'=>571,'e'=>450,'f'=>347,'g'=>628,'h'=>611,'i'=>283,'j'=>283,'k'=>560,'l'=>252,'m'=>976,
|
'X'=>716,'Y'=>754,'Z'=>599,'['=>315,'\\'=>463,']'=>315,'^'=>600,'_'=>547,'`'=>278,'a'=>581,'b'=>564,'c'=>440,'d'=>571,'e'=>450,'f'=>347,'g'=>628,'h'=>611,'i'=>283,'j'=>283,'k'=>560,'l'=>252,'m'=>976,
|
||||||
'n'=>595,'o'=>508,'p'=>549,'q'=>540,'r'=>395,'s'=>441,'t'=>307,'u'=>614,'v'=>556,'w'=>915,'x'=>559,'y'=>597,'z'=>452,'{'=>315,'|'=>222,'}'=>315,'~'=>600,chr(127)=>800,chr(128)=>800,chr(129)=>800,chr(130)=>0,chr(131)=>0,
|
'n'=>595,'o'=>508,'p'=>549,'q'=>540,'r'=>395,'s'=>441,'t'=>307,'u'=>614,'v'=>556,'w'=>915,'x'=>559,'y'=>597,'z'=>452,'{'=>315,'|'=>222,'}'=>315,'~'=>600,chr(127)=>800,chr(128)=>800,chr(129)=>800,chr(130)=>0,chr(131)=>0,
|
||||||
chr(132)=>0,chr(133)=>780,chr(134)=>0,chr(135)=>0,chr(136)=>278,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>1064,chr(141)=>800,chr(142)=>800,chr(143)=>800,chr(144)=>800,chr(145)=>259,chr(146)=>259,chr(147)=>470,chr(148)=>470,chr(149)=>500,chr(150)=>300,chr(151)=>600,chr(152)=>278,chr(153)=>990,
|
chr(132)=>0,chr(133)=>780,chr(134)=>0,chr(135)=>0,chr(136)=>278,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>1064,chr(141)=>800,chr(142)=>0,chr(143)=>800,chr(144)=>800,chr(145)=>259,chr(146)=>259,chr(147)=>470,chr(148)=>470,chr(149)=>500,chr(150)=>300,chr(151)=>600,chr(152)=>278,chr(153)=>990,
|
||||||
chr(154)=>0,chr(155)=>0,chr(156)=>790,chr(157)=>800,chr(158)=>800,chr(159)=>754,chr(160)=>282,chr(161)=>324,chr(162)=>450,chr(163)=>640,chr(164)=>518,chr(165)=>603,chr(166)=>0,chr(167)=>519,chr(168)=>254,chr(169)=>800,chr(170)=>349,chr(171)=>0,chr(172)=>0,chr(173)=>432,chr(174)=>800,chr(175)=>278,
|
chr(154)=>0,chr(155)=>0,chr(156)=>790,chr(157)=>800,chr(158)=>800,chr(159)=>754,chr(160)=>282,chr(161)=>324,chr(162)=>450,chr(163)=>640,chr(164)=>518,chr(165)=>603,chr(166)=>0,chr(167)=>519,chr(168)=>254,chr(169)=>800,chr(170)=>349,chr(171)=>0,chr(172)=>0,chr(173)=>432,chr(174)=>800,chr(175)=>278,
|
||||||
chr(176)=>0,chr(177)=>0,chr(178)=>0,chr(179)=>0,chr(180)=>278,chr(181)=>614,chr(182)=>0,chr(183)=>254,chr(184)=>278,chr(185)=>0,chr(186)=>305,chr(187)=>0,chr(188)=>0,chr(189)=>0,chr(190)=>0,chr(191)=>501,chr(192)=>743,chr(193)=>743,chr(194)=>743,chr(195)=>743,chr(196)=>743,chr(197)=>743,
|
chr(176)=>0,chr(177)=>0,chr(178)=>0,chr(179)=>0,chr(180)=>278,chr(181)=>614,chr(182)=>0,chr(183)=>254,chr(184)=>278,chr(185)=>0,chr(186)=>305,chr(187)=>0,chr(188)=>0,chr(189)=>0,chr(190)=>0,chr(191)=>501,chr(192)=>743,chr(193)=>743,chr(194)=>743,chr(195)=>743,chr(196)=>743,chr(197)=>743,
|
||||||
chr(198)=>1060,chr(199)=>598,chr(200)=>608,chr(201)=>608,chr(202)=>608,chr(203)=>608,chr(204)=>308,chr(205)=>308,chr(206)=>308,chr(207)=>308,chr(208)=>0,chr(209)=>817,chr(210)=>729,chr(211)=>729,chr(212)=>729,chr(213)=>729,chr(214)=>729,chr(215)=>0,chr(216)=>729,chr(217)=>805,chr(218)=>805,chr(219)=>805,
|
chr(198)=>1060,chr(199)=>598,chr(200)=>608,chr(201)=>608,chr(202)=>608,chr(203)=>608,chr(204)=>308,chr(205)=>308,chr(206)=>308,chr(207)=>308,chr(208)=>0,chr(209)=>817,chr(210)=>729,chr(211)=>729,chr(212)=>729,chr(213)=>729,chr(214)=>729,chr(215)=>0,chr(216)=>729,chr(217)=>805,chr(218)=>805,chr(219)=>805,
|
||||||
chr(220)=>805,chr(221)=>0,chr(222)=>0,chr(223)=>688,chr(224)=>581,chr(225)=>581,chr(226)=>581,chr(227)=>581,chr(228)=>581,chr(229)=>581,chr(230)=>792,chr(231)=>440,chr(232)=>450,chr(233)=>450,chr(234)=>450,chr(235)=>450,chr(236)=>283,chr(237)=>283,chr(238)=>283,chr(239)=>283,chr(240)=>800,chr(241)=>595,
|
chr(220)=>805,chr(221)=>0,chr(222)=>0,chr(223)=>688,chr(224)=>581,chr(225)=>581,chr(226)=>581,chr(227)=>581,chr(228)=>581,chr(229)=>581,chr(230)=>792,chr(231)=>440,chr(232)=>450,chr(233)=>450,chr(234)=>450,chr(235)=>450,chr(236)=>283,chr(237)=>283,chr(238)=>283,chr(239)=>283,chr(240)=>0,chr(241)=>595,
|
||||||
chr(242)=>508,chr(243)=>508,chr(244)=>508,chr(245)=>508,chr(246)=>508,chr(247)=>0,chr(248)=>508,chr(249)=>614,chr(250)=>614,chr(251)=>614,chr(252)=>614,chr(253)=>0,chr(254)=>0,chr(255)=>597);
|
chr(242)=>508,chr(243)=>508,chr(244)=>508,chr(245)=>508,chr(246)=>508,chr(247)=>0,chr(248)=>508,chr(249)=>614,chr(250)=>614,chr(251)=>614,chr(252)=>614,chr(253)=>0,chr(254)=>0,chr(255)=>597);
|
||||||
$enc='cp1252';
|
$enc = 'cp1252';
|
||||||
$diff='';
|
$file = 'calligra.z';
|
||||||
$file='calligra.z';
|
$originalsize = 40120;
|
||||||
$originalsize=40120;
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Tutorials</h1>
|
<h1>Tutorials</h1>
|
||||||
<p>The different examples rapidly show how to use FPDF. You will find all main features explained.</p>
|
|
||||||
<ul style="list-style-type:none; margin-left:0; padding-left:0">
|
<ul style="list-style-type:none; margin-left:0; padding-left:0">
|
||||||
<li><a href="tuto1.htm">Tutorial 1</a>: Minimal example</li>
|
<li><a href="tuto1.htm">Tutorial 1</a>: Minimal example</li>
|
||||||
<li><a href="tuto2.htm">Tutorial 2</a>: Header, footer, page break and image</li>
|
<li><a href="tuto2.htm">Tutorial 2</a>: Header, footer, page break and image</li>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
//Generation of font definition file for tutorial 7
|
// Generation of font definition file for tutorial 7
|
||||||
require('../font/makefont/makefont.php');
|
require('../makefont/makefont.php');
|
||||||
|
|
||||||
MakeFont('calligra.ttf','calligra.afm');
|
MakeFont('calligra.ttf','cp1252');
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -12,7 +12,7 @@ Let's start with the classic example:
|
||||||
<pre><code><?php
|
<pre><code><?php
|
||||||
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
||||||
|
|
||||||
</span>$pdf<span class="kw">=new </span>FPDF<span class="kw">();
|
</span>$pdf <span class="kw">= new </span>FPDF<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>16<span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>16<span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>Cell<span class="kw">(</span>40<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Hello World!'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>Cell<span class="kw">(</span>40<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Hello World!'</span><span class="kw">);
|
||||||
|
@ -24,28 +24,27 @@ After including the library file, we create an FPDF object.
|
||||||
The <a href='../doc/fpdf.htm'>FPDF()</a> constructor is used here with the default values: pages are in A4 portrait and
|
The <a href='../doc/fpdf.htm'>FPDF()</a> constructor is used here with the default values: pages are in A4 portrait and
|
||||||
the unit of measure is millimeter. It could have been specified explicitly with:
|
the unit of measure is millimeter. It could have been specified explicitly with:
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code>$pdf<span class="kw">=new </span>FPDF<span class="kw">(</span><span class="str">'P'</span><span class="kw">,</span><span class="str">'mm'</span><span class="kw">,</span><span class="str">'A4'</span><span class="kw">);
|
<pre><code>$pdf <span class="kw">= new </span>FPDF<span class="kw">(</span><span class="str">'P'</span><span class="kw">,</span><span class="str">'mm'</span><span class="kw">,</span><span class="str">'A4'</span><span class="kw">);
|
||||||
</span></code></pre>
|
</span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
It is possible to use landscape (<code>L</code>), other page formats (such as <code>Letter</code> and
|
It's possible to use landscape (<code>L</code>), other page sizes (such as <code>Letter</code> and
|
||||||
<code>Legal</code>) and units of measure (<code>pt</code>, <code>cm</code>, <code>in</code>).
|
<code>Legal</code>) and units (<code>pt</code>, <code>cm</code>, <code>in</code>).
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
There is no page for the moment, so we have to add one with <a href='../doc/addpage.htm'>AddPage()</a>. The origin
|
There's no page at the moment, so we have to add one with <a href='../doc/addpage.htm'>AddPage()</a>. The origin
|
||||||
is at the upper-left corner and the current position is by default placed at 1 cm from the
|
is at the upper-left corner and the current position is by default set at 1 cm from the
|
||||||
borders; the margins can be changed with <a href='../doc/setmargins.htm'>SetMargins()</a>.
|
borders; the margins can be changed with <a href='../doc/setmargins.htm'>SetMargins()</a>.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Before we can print text, it is mandatory to select a font with <a href='../doc/setfont.htm'>SetFont()</a>, otherwise the
|
Before we can print text, it's mandatory to select a font with <a href='../doc/setfont.htm'>SetFont()</a>, otherwise the
|
||||||
document would be invalid. We choose Arial bold 16:
|
document would be invalid. We choose Arial bold 16:
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>16<span class="kw">);
|
<pre><code>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>16<span class="kw">);
|
||||||
</span></code></pre>
|
</span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
We could have specified italics with I, underlined with U or a regular font with an empty string
|
We could have specified italics with I, underlined with U or a regular font with an empty string
|
||||||
(or any combination). Note that the font size is given in points, not millimeters (or another
|
(or any combination). Note that the font size is given in points, not millimeters (or another user
|
||||||
user unit); it is the only exception. The other standard fonts are Times, Courier, Symbol and
|
unit); it's the only exception. The other standard fonts are Times, Courier, Symbol and ZapfDingbats.
|
||||||
ZapfDingbats.
|
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
We can now print a cell with <a href='../doc/cell.htm'>Cell()</a>. A cell is a rectangular area, possibly framed,
|
We can now print a cell with <a href='../doc/cell.htm'>Cell()</a>. A cell is a rectangular area, possibly framed,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
require('../fpdf.php');
|
require('../fpdf.php');
|
||||||
|
|
||||||
$pdf=new FPDF();
|
$pdf = new FPDF();
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$pdf->SetFont('Arial','B',16);
|
$pdf->SetFont('Arial','B',16);
|
||||||
$pdf->Cell(40,10,'Hello World!');
|
$pdf->Cell(40,10,'Hello World!');
|
||||||
|
|
|
@ -7,42 +7,42 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Header, footer, page break and image</h1>
|
<h1>Header, footer, page break and image</h1>
|
||||||
Here is a two page example with header, footer and logo:
|
Here's a two page example with header, footer and logo:
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code><?php
|
<pre><code><?php
|
||||||
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
||||||
|
|
||||||
class </span>PDF <span class="kw">extends </span>FPDF
|
class </span>PDF <span class="kw">extends </span>FPDF
|
||||||
<span class="kw">{
|
<span class="kw">{
|
||||||
</span><span class="cmt">//Page header
|
</span><span class="cmt">// Page header
|
||||||
</span><span class="kw">function </span>Header<span class="kw">()
|
</span><span class="kw">function </span>Header<span class="kw">()
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Logo
|
</span><span class="cmt">// Logo
|
||||||
</span>$<span class="kw">this-></span>Image<span class="kw">(</span><span class="str">'logo_pb.png'</span><span class="kw">,</span>10<span class="kw">,</span>8<span class="kw">,</span>33<span class="kw">);
|
</span>$<span class="kw">this-></span>Image<span class="kw">(</span><span class="str">'logo.png'</span><span class="kw">,</span>10<span class="kw">,</span>6<span class="kw">,</span>30<span class="kw">);
|
||||||
</span><span class="cmt">//Arial bold 15
|
</span><span class="cmt">// Arial bold 15
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>15<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>15<span class="kw">);
|
||||||
</span><span class="cmt">//Move to the right
|
</span><span class="cmt">// Move to the right
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>80<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>80<span class="kw">);
|
||||||
</span><span class="cmt">//Title
|
</span><span class="cmt">// Title
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>30<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Title'</span><span class="kw">,</span>1<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>30<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Title'</span><span class="kw">,</span>1<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
||||||
</span><span class="cmt">//Line break
|
</span><span class="cmt">// Line break
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>20<span class="kw">);
|
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>20<span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
</span><span class="cmt">//Page footer
|
</span><span class="cmt">// Page footer
|
||||||
</span><span class="kw">function </span>Footer<span class="kw">()
|
</span><span class="kw">function </span>Footer<span class="kw">()
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Position at 1.5 cm from bottom
|
</span><span class="cmt">// Position at 1.5 cm from bottom
|
||||||
</span>$<span class="kw">this-></span>SetY<span class="kw">(-</span>15<span class="kw">);
|
</span>$<span class="kw">this-></span>SetY<span class="kw">(-</span>15<span class="kw">);
|
||||||
</span><span class="cmt">//Arial italic 8
|
</span><span class="cmt">// Arial italic 8
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">,</span>8<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">,</span>8<span class="kw">);
|
||||||
</span><span class="cmt">//Page number
|
</span><span class="cmt">// Page number
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Page '</span><span class="kw">.</span>$<span class="kw">this-></span>PageNo<span class="kw">().</span><span class="str">'/{nb}'</span><span class="kw">,</span>0<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Page '</span><span class="kw">.</span>$<span class="kw">this-></span>PageNo<span class="kw">().</span><span class="str">'/{nb}'</span><span class="kw">,</span>0<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</span><span class="cmt">//Instanciation of inherited class
|
</span><span class="cmt">// Instanciation of inherited class
|
||||||
</span>$pdf<span class="kw">=new </span>PDF<span class="kw">();
|
</span>$pdf <span class="kw">= new </span>PDF<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>AliasNbPages<span class="kw">();
|
</span>$pdf<span class="kw">-></span>AliasNbPages<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Times'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Times'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
||||||
|
@ -62,9 +62,9 @@ its width. The height is calculated automatically to respect the image proportio
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
To print the page number, a null value is passed as the cell width. It means that the cell
|
To print the page number, a null value is passed as the cell width. It means that the cell
|
||||||
should extend up to the right margin of the page; it is handy to center text. The current page
|
should extend up to the right margin of the page; this is handy to center text. The current page
|
||||||
number is returned by the <a href='../doc/pageno.htm'>PageNo()</a> method; as for the total number of pages, it is obtained
|
number is returned by the <a href='../doc/pageno.htm'>PageNo()</a> method; as for the total number of pages, it's obtained
|
||||||
by means of the special value <code>{nb}</code> which will be substituted on document closure
|
via the special value <code>{nb}</code> which is substituted when the document is finished
|
||||||
(provided you first called <a href='../doc/aliasnbpages.htm'>AliasNbPages()</a>).
|
(provided you first called <a href='../doc/aliasnbpages.htm'>AliasNbPages()</a>).
|
||||||
<br>
|
<br>
|
||||||
Note the use of the <a href='../doc/sety.htm'>SetY()</a> method which allows to set position at an absolute location in
|
Note the use of the <a href='../doc/sety.htm'>SetY()</a> method which allows to set position at an absolute location in
|
||||||
|
@ -72,7 +72,7 @@ the page, starting from the top or the bottom.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Another interesting feature is used here: the automatic page breaking. As soon as a cell would
|
Another interesting feature is used here: the automatic page breaking. As soon as a cell would
|
||||||
cross a limit in the page (at 2 centimeters from the bottom by default), a break is performed
|
cross a limit in the page (at 2 centimeters from the bottom by default), a break is issued
|
||||||
and the font restored. Although the header and footer select their own font (Arial), the body
|
and the font restored. Although the header and footer select their own font (Arial), the body
|
||||||
continues with Times. This mechanism of automatic restoration also applies to colors and line
|
continues with Times. This mechanism of automatic restoration also applies to colors and line
|
||||||
width. The limit which triggers page breaks can be set with <a href='../doc/setautopagebreak.htm'>SetAutoPageBreak()</a>.
|
width. The limit which triggers page breaks can be set with <a href='../doc/setautopagebreak.htm'>SetAutoPageBreak()</a>.
|
||||||
|
|
|
@ -3,35 +3,35 @@ require('../fpdf.php');
|
||||||
|
|
||||||
class PDF extends FPDF
|
class PDF extends FPDF
|
||||||
{
|
{
|
||||||
//Page header
|
// Page header
|
||||||
function Header()
|
function Header()
|
||||||
{
|
{
|
||||||
//Logo
|
// Logo
|
||||||
$this->Image('logo_pb.png',10,8,33);
|
$this->Image('logo.png',10,6,30);
|
||||||
//Arial bold 15
|
// Arial bold 15
|
||||||
$this->SetFont('Arial','B',15);
|
$this->SetFont('Arial','B',15);
|
||||||
//Move to the right
|
// Move to the right
|
||||||
$this->Cell(80);
|
$this->Cell(80);
|
||||||
//Title
|
// Title
|
||||||
$this->Cell(30,10,'Title',1,0,'C');
|
$this->Cell(30,10,'Title',1,0,'C');
|
||||||
//Line break
|
// Line break
|
||||||
$this->Ln(20);
|
$this->Ln(20);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Page footer
|
// Page footer
|
||||||
function Footer()
|
function Footer()
|
||||||
{
|
{
|
||||||
//Position at 1.5 cm from bottom
|
// Position at 1.5 cm from bottom
|
||||||
$this->SetY(-15);
|
$this->SetY(-15);
|
||||||
//Arial italic 8
|
// Arial italic 8
|
||||||
$this->SetFont('Arial','I',8);
|
$this->SetFont('Arial','I',8);
|
||||||
//Page number
|
// Page number
|
||||||
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
|
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Instanciation of inherited class
|
// Instanciation of inherited class
|
||||||
$pdf=new PDF();
|
$pdf = new PDF();
|
||||||
$pdf->AliasNbPages();
|
$pdf->AliasNbPages();
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$pdf->SetFont('Times','',12);
|
$pdf->SetFont('Times','',12);
|
||||||
|
|
|
@ -19,65 +19,63 @@ function </span>Header<span class="kw">()
|
||||||
{
|
{
|
||||||
global </span>$title<span class="kw">;
|
global </span>$title<span class="kw">;
|
||||||
|
|
||||||
</span><span class="cmt">//Arial bold 15
|
</span><span class="cmt">// Arial bold 15
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>15<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>15<span class="kw">);
|
||||||
</span><span class="cmt">//Calculate width of title and position
|
</span><span class="cmt">// Calculate width of title and position
|
||||||
</span>$w<span class="kw">=</span>$<span class="kw">this-></span>GetStringWidth<span class="kw">(</span>$title<span class="kw">)+</span>6<span class="kw">;
|
</span>$w <span class="kw">= </span>$<span class="kw">this-></span>GetStringWidth<span class="kw">(</span>$title<span class="kw">)+</span>6<span class="kw">;
|
||||||
</span>$<span class="kw">this-></span>SetX<span class="kw">((</span>210<span class="kw">-</span>$w<span class="kw">)/</span>2<span class="kw">);
|
</span>$<span class="kw">this-></span>SetX<span class="kw">((</span>210<span class="kw">-</span>$w<span class="kw">)/</span>2<span class="kw">);
|
||||||
</span><span class="cmt">//Colors of frame, background and text
|
</span><span class="cmt">// Colors of frame, background and text
|
||||||
</span>$<span class="kw">this-></span>SetDrawColor<span class="kw">(</span>0<span class="kw">,</span>80<span class="kw">,</span>180<span class="kw">);
|
</span>$<span class="kw">this-></span>SetDrawColor<span class="kw">(</span>0<span class="kw">,</span>80<span class="kw">,</span>180<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>230<span class="kw">,</span>230<span class="kw">,</span>0<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>230<span class="kw">,</span>230<span class="kw">,</span>0<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>220<span class="kw">,</span>50<span class="kw">,</span>50<span class="kw">);
|
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>220<span class="kw">,</span>50<span class="kw">,</span>50<span class="kw">);
|
||||||
</span><span class="cmt">//Thickness of frame (1 mm)
|
</span><span class="cmt">// Thickness of frame (1 mm)
|
||||||
</span>$<span class="kw">this-></span>SetLineWidth<span class="kw">(</span>1<span class="kw">);
|
</span>$<span class="kw">this-></span>SetLineWidth<span class="kw">(</span>1<span class="kw">);
|
||||||
</span><span class="cmt">//Title
|
</span><span class="cmt">// Title
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">,</span>9<span class="kw">,</span>$title<span class="kw">,</span>1<span class="kw">,</span>1<span class="kw">,</span><span class="str">'C'</span><span class="kw">,</span>true<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">,</span>9<span class="kw">,</span>$title<span class="kw">,</span>1<span class="kw">,</span>1<span class="kw">,</span><span class="str">'C'</span><span class="kw">,</span>true<span class="kw">);
|
||||||
</span><span class="cmt">//Line break
|
</span><span class="cmt">// Line break
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>10<span class="kw">);
|
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>10<span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>Footer<span class="kw">()
|
function </span>Footer<span class="kw">()
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Position at 1.5 cm from bottom
|
</span><span class="cmt">// Position at 1.5 cm from bottom
|
||||||
</span>$<span class="kw">this-></span>SetY<span class="kw">(-</span>15<span class="kw">);
|
</span>$<span class="kw">this-></span>SetY<span class="kw">(-</span>15<span class="kw">);
|
||||||
</span><span class="cmt">//Arial italic 8
|
</span><span class="cmt">// Arial italic 8
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">,</span>8<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">,</span>8<span class="kw">);
|
||||||
</span><span class="cmt">//Text color in gray
|
</span><span class="cmt">// Text color in gray
|
||||||
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>128<span class="kw">);
|
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>128<span class="kw">);
|
||||||
</span><span class="cmt">//Page number
|
</span><span class="cmt">// Page number
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Page '</span><span class="kw">.</span>$<span class="kw">this-></span>PageNo<span class="kw">(),</span>0<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Page '</span><span class="kw">.</span>$<span class="kw">this-></span>PageNo<span class="kw">(),</span>0<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>ChapterTitle<span class="kw">(</span>$num<span class="kw">,</span>$label<span class="kw">)
|
function </span>ChapterTitle<span class="kw">(</span>$num<span class="kw">, </span>$label<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Arial 12
|
</span><span class="cmt">// Arial 12
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
||||||
</span><span class="cmt">//Background color
|
</span><span class="cmt">// Background color
|
||||||
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>200<span class="kw">,</span>220<span class="kw">,</span>255<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>200<span class="kw">,</span>220<span class="kw">,</span>255<span class="kw">);
|
||||||
</span><span class="cmt">//Title
|
</span><span class="cmt">// Title
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>6<span class="kw">,</span><span class="str">"Chapter $num : $label"</span><span class="kw">,</span>0<span class="kw">,</span>1<span class="kw">,</span><span class="str">'L'</span><span class="kw">,</span>true<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>6<span class="kw">,</span><span class="str">"Chapter </span>$num<span class="str"> : </span>$label<span class="str">"</span><span class="kw">,</span>0<span class="kw">,</span>1<span class="kw">,</span><span class="str">'L'</span><span class="kw">,</span>true<span class="kw">);
|
||||||
</span><span class="cmt">//Line break
|
</span><span class="cmt">// Line break
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>4<span class="kw">);
|
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>4<span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>ChapterBody<span class="kw">(</span>$file<span class="kw">)
|
function </span>ChapterBody<span class="kw">(</span>$file<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Read text file
|
</span><span class="cmt">// Read text file
|
||||||
</span>$f<span class="kw">=</span>fopen<span class="kw">(</span>$file<span class="kw">,</span><span class="str">'r'</span><span class="kw">);
|
</span>$txt <span class="kw">= </span>file_get_contents<span class="kw">(</span>$file<span class="kw">);
|
||||||
</span>$txt<span class="kw">=</span>fread<span class="kw">(</span>$f<span class="kw">,</span>filesize<span class="kw">(</span>$file<span class="kw">));
|
</span><span class="cmt">// Times 12
|
||||||
</span>fclose<span class="kw">(</span>$f<span class="kw">);
|
|
||||||
</span><span class="cmt">//Times 12
|
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Times'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Times'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
||||||
</span><span class="cmt">//Output justified text
|
</span><span class="cmt">// Output justified text
|
||||||
</span>$<span class="kw">this-></span>MultiCell<span class="kw">(</span>0<span class="kw">,</span>5<span class="kw">,</span>$txt<span class="kw">);
|
</span>$<span class="kw">this-></span>MultiCell<span class="kw">(</span>0<span class="kw">,</span>5<span class="kw">,</span>$txt<span class="kw">);
|
||||||
</span><span class="cmt">//Line break
|
</span><span class="cmt">// Line break
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
||||||
</span><span class="cmt">//Mention in italics
|
</span><span class="cmt">// Mention in italics
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>5<span class="kw">,</span><span class="str">'(end of excerpt)'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>5<span class="kw">,</span><span class="str">'(end of excerpt)'</span><span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>PrintChapter<span class="kw">(</span>$num<span class="kw">,</span>$title<span class="kw">,</span>$file<span class="kw">)
|
function </span>PrintChapter<span class="kw">(</span>$num<span class="kw">, </span>$title<span class="kw">, </span>$file<span class="kw">)
|
||||||
{
|
{
|
||||||
</span>$<span class="kw">this-></span>AddPage<span class="kw">();
|
</span>$<span class="kw">this-></span>AddPage<span class="kw">();
|
||||||
</span>$<span class="kw">this-></span>ChapterTitle<span class="kw">(</span>$num<span class="kw">,</span>$title<span class="kw">);
|
</span>$<span class="kw">this-></span>ChapterTitle<span class="kw">(</span>$num<span class="kw">,</span>$title<span class="kw">);
|
||||||
|
@ -85,8 +83,8 @@ function </span>PrintChapter<span class="kw">(</span>$num<span class="kw">,</spa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</span>$pdf<span class="kw">=new </span>PDF<span class="kw">();
|
</span>$pdf <span class="kw">= new </span>PDF<span class="kw">();
|
||||||
</span>$title<span class="kw">=</span><span class="str">'20000 Leagues Under the Seas'</span><span class="kw">;
|
</span>$title <span class="kw">= </span><span class="str">'20000 Leagues Under the Seas'</span><span class="kw">;
|
||||||
</span>$pdf<span class="kw">-></span>SetTitle<span class="kw">(</span>$title<span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetTitle<span class="kw">(</span>$title<span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>SetAuthor<span class="kw">(</span><span class="str">'Jules Verne'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetAuthor<span class="kw">(</span><span class="str">'Jules Verne'</span><span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>PrintChapter<span class="kw">(</span>1<span class="kw">,</span><span class="str">'A RUNAWAY REEF'</span><span class="kw">,</span><span class="str">'20k_c1.txt'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>PrintChapter<span class="kw">(</span>1<span class="kw">,</span><span class="str">'A RUNAWAY REEF'</span><span class="kw">,</span><span class="str">'20k_c1.txt'</span><span class="kw">);
|
||||||
|
@ -98,8 +96,8 @@ function </span>PrintChapter<span class="kw">(</span>$num<span class="kw">,</spa
|
||||||
The <a href='../doc/getstringwidth.htm'>GetStringWidth()</a> method allows to determine the length of a string in the current font,
|
The <a href='../doc/getstringwidth.htm'>GetStringWidth()</a> method allows to determine the length of a string in the current font,
|
||||||
which is used here to calculate the position and the width of the frame surrounding the title.
|
which is used here to calculate the position and the width of the frame surrounding the title.
|
||||||
Then colors are set (via <a href='../doc/setdrawcolor.htm'>SetDrawColor()</a>, <a href='../doc/setfillcolor.htm'>SetFillColor()</a> and <a href='../doc/settextcolor.htm'>SetTextColor()</a>) and the
|
Then colors are set (via <a href='../doc/setdrawcolor.htm'>SetDrawColor()</a>, <a href='../doc/setfillcolor.htm'>SetFillColor()</a> and <a href='../doc/settextcolor.htm'>SetTextColor()</a>) and the
|
||||||
thickness of the line is set to 1 mm (against 0.2 by default) with <a href='../doc/setlinewidth.htm'>SetLineWidth()</a>. Finally,
|
thickness of the line is set to 1 mm (instead of 0.2 by default) with <a href='../doc/setlinewidth.htm'>SetLineWidth()</a>. Finally,
|
||||||
we output the cell (the last parameter to <code>true</code> indicates that the background must
|
we output the cell (the last parameter <code>true</code> indicates that the background must
|
||||||
be filled).
|
be filled).
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
@ -109,8 +107,9 @@ and a new cell automatically created under the current one. Text is justified by
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Two document properties are defined: the title (<a href='../doc/settitle.htm'>SetTitle()</a>) and the author (<a href='../doc/setauthor.htm'>SetAuthor()</a>).
|
Two document properties are defined: the title (<a href='../doc/settitle.htm'>SetTitle()</a>) and the author (<a href='../doc/setauthor.htm'>SetAuthor()</a>).
|
||||||
Properties can be viewed by two means. First is to open the document directly with Acrobat Reader,
|
There are several ways to view them in Adobe Reader. The first one is to open the file directly with
|
||||||
go to the File menu and choose the Document Properties option. The second, also available from
|
the reader, go to the File menu and choose the Properties option. The second one, also available from
|
||||||
the plug-in, is to right-click and select Document Properties.
|
the plug-in, is to right-click and select Document Properties. The third method is to type the Ctrl+D
|
||||||
|
key combination.
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -7,65 +7,63 @@ function Header()
|
||||||
{
|
{
|
||||||
global $title;
|
global $title;
|
||||||
|
|
||||||
//Arial bold 15
|
// Arial bold 15
|
||||||
$this->SetFont('Arial','B',15);
|
$this->SetFont('Arial','B',15);
|
||||||
//Calculate width of title and position
|
// Calculate width of title and position
|
||||||
$w=$this->GetStringWidth($title)+6;
|
$w = $this->GetStringWidth($title)+6;
|
||||||
$this->SetX((210-$w)/2);
|
$this->SetX((210-$w)/2);
|
||||||
//Colors of frame, background and text
|
// Colors of frame, background and text
|
||||||
$this->SetDrawColor(0,80,180);
|
$this->SetDrawColor(0,80,180);
|
||||||
$this->SetFillColor(230,230,0);
|
$this->SetFillColor(230,230,0);
|
||||||
$this->SetTextColor(220,50,50);
|
$this->SetTextColor(220,50,50);
|
||||||
//Thickness of frame (1 mm)
|
// Thickness of frame (1 mm)
|
||||||
$this->SetLineWidth(1);
|
$this->SetLineWidth(1);
|
||||||
//Title
|
// Title
|
||||||
$this->Cell($w,9,$title,1,1,'C',true);
|
$this->Cell($w,9,$title,1,1,'C',true);
|
||||||
//Line break
|
// Line break
|
||||||
$this->Ln(10);
|
$this->Ln(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
function Footer()
|
function Footer()
|
||||||
{
|
{
|
||||||
//Position at 1.5 cm from bottom
|
// Position at 1.5 cm from bottom
|
||||||
$this->SetY(-15);
|
$this->SetY(-15);
|
||||||
//Arial italic 8
|
// Arial italic 8
|
||||||
$this->SetFont('Arial','I',8);
|
$this->SetFont('Arial','I',8);
|
||||||
//Text color in gray
|
// Text color in gray
|
||||||
$this->SetTextColor(128);
|
$this->SetTextColor(128);
|
||||||
//Page number
|
// Page number
|
||||||
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
|
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
|
||||||
}
|
}
|
||||||
|
|
||||||
function ChapterTitle($num,$label)
|
function ChapterTitle($num, $label)
|
||||||
{
|
{
|
||||||
//Arial 12
|
// Arial 12
|
||||||
$this->SetFont('Arial','',12);
|
$this->SetFont('Arial','',12);
|
||||||
//Background color
|
// Background color
|
||||||
$this->SetFillColor(200,220,255);
|
$this->SetFillColor(200,220,255);
|
||||||
//Title
|
// Title
|
||||||
$this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
|
$this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
|
||||||
//Line break
|
// Line break
|
||||||
$this->Ln(4);
|
$this->Ln(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
function ChapterBody($file)
|
function ChapterBody($file)
|
||||||
{
|
{
|
||||||
//Read text file
|
// Read text file
|
||||||
$f=fopen($file,'r');
|
$txt = file_get_contents($file);
|
||||||
$txt=fread($f,filesize($file));
|
// Times 12
|
||||||
fclose($f);
|
|
||||||
//Times 12
|
|
||||||
$this->SetFont('Times','',12);
|
$this->SetFont('Times','',12);
|
||||||
//Output justified text
|
// Output justified text
|
||||||
$this->MultiCell(0,5,$txt);
|
$this->MultiCell(0,5,$txt);
|
||||||
//Line break
|
// Line break
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
//Mention in italics
|
// Mention in italics
|
||||||
$this->SetFont('','I');
|
$this->SetFont('','I');
|
||||||
$this->Cell(0,5,'(end of excerpt)');
|
$this->Cell(0,5,'(end of excerpt)');
|
||||||
}
|
}
|
||||||
|
|
||||||
function PrintChapter($num,$title,$file)
|
function PrintChapter($num, $title, $file)
|
||||||
{
|
{
|
||||||
$this->AddPage();
|
$this->AddPage();
|
||||||
$this->ChapterTitle($num,$title);
|
$this->ChapterTitle($num,$title);
|
||||||
|
@ -73,8 +71,8 @@ function PrintChapter($num,$title,$file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf=new PDF();
|
$pdf = new PDF();
|
||||||
$title='20000 Leagues Under the Seas';
|
$title = '20000 Leagues Under the Seas';
|
||||||
$pdf->SetTitle($title);
|
$pdf->SetTitle($title);
|
||||||
$pdf->SetAuthor('Jules Verne');
|
$pdf->SetAuthor('Jules Verne');
|
||||||
$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
|
$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
|
||||||
|
|
|
@ -15,18 +15,18 @@ columns.
|
||||||
|
|
||||||
class </span>PDF <span class="kw">extends </span>FPDF
|
class </span>PDF <span class="kw">extends </span>FPDF
|
||||||
<span class="kw">{
|
<span class="kw">{
|
||||||
</span><span class="cmt">//Current column
|
</span><span class="cmt">// Current column
|
||||||
</span><span class="kw">var </span>$col<span class="kw">=</span>0<span class="kw">;
|
</span><span class="kw">var </span>$col <span class="kw">= </span>0<span class="kw">;
|
||||||
</span><span class="cmt">//Ordinate of column start
|
</span><span class="cmt">// Ordinate of column start
|
||||||
</span><span class="kw">var </span>$y0<span class="kw">;
|
</span><span class="kw">var </span>$y0<span class="kw">;
|
||||||
|
|
||||||
function </span>Header<span class="kw">()
|
function </span>Header<span class="kw">()
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Page header
|
</span><span class="cmt">// Page header
|
||||||
</span><span class="kw">global </span>$title<span class="kw">;
|
</span><span class="kw">global </span>$title<span class="kw">;
|
||||||
|
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>15<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>15<span class="kw">);
|
||||||
</span>$w<span class="kw">=</span>$<span class="kw">this-></span>GetStringWidth<span class="kw">(</span>$title<span class="kw">)+</span>6<span class="kw">;
|
</span>$w <span class="kw">= </span>$<span class="kw">this-></span>GetStringWidth<span class="kw">(</span>$title<span class="kw">)+</span>6<span class="kw">;
|
||||||
</span>$<span class="kw">this-></span>SetX<span class="kw">((</span>210<span class="kw">-</span>$w<span class="kw">)/</span>2<span class="kw">);
|
</span>$<span class="kw">this-></span>SetX<span class="kw">((</span>210<span class="kw">-</span>$w<span class="kw">)/</span>2<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetDrawColor<span class="kw">(</span>0<span class="kw">,</span>80<span class="kw">,</span>180<span class="kw">);
|
</span>$<span class="kw">this-></span>SetDrawColor<span class="kw">(</span>0<span class="kw">,</span>80<span class="kw">,</span>180<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>230<span class="kw">,</span>230<span class="kw">,</span>0<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>230<span class="kw">,</span>230<span class="kw">,</span>0<span class="kw">);
|
||||||
|
@ -34,13 +34,13 @@ function </span>Header<span class="kw">()
|
||||||
</span>$<span class="kw">this-></span>SetLineWidth<span class="kw">(</span>1<span class="kw">);
|
</span>$<span class="kw">this-></span>SetLineWidth<span class="kw">(</span>1<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">,</span>9<span class="kw">,</span>$title<span class="kw">,</span>1<span class="kw">,</span>1<span class="kw">,</span><span class="str">'C'</span><span class="kw">,</span>true<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">,</span>9<span class="kw">,</span>$title<span class="kw">,</span>1<span class="kw">,</span>1<span class="kw">,</span><span class="str">'C'</span><span class="kw">,</span>true<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>10<span class="kw">);
|
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>10<span class="kw">);
|
||||||
</span><span class="cmt">//Save ordinate
|
</span><span class="cmt">// Save ordinate
|
||||||
</span>$<span class="kw">this-></span>y0<span class="kw">=</span>$<span class="kw">this-></span>GetY<span class="kw">();
|
</span>$<span class="kw">this-></span>y0 <span class="kw">= </span>$<span class="kw">this-></span>GetY<span class="kw">();
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>Footer<span class="kw">()
|
function </span>Footer<span class="kw">()
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Page footer
|
</span><span class="cmt">// Page footer
|
||||||
</span>$<span class="kw">this-></span>SetY<span class="kw">(-</span>15<span class="kw">);
|
</span>$<span class="kw">this-></span>SetY<span class="kw">(-</span>15<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">,</span>8<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">,</span>8<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>128<span class="kw">);
|
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>128<span class="kw">);
|
||||||
|
@ -49,74 +49,72 @@ function </span>Footer<span class="kw">()
|
||||||
|
|
||||||
function </span>SetCol<span class="kw">(</span>$col<span class="kw">)
|
function </span>SetCol<span class="kw">(</span>$col<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Set position at a given column
|
</span><span class="cmt">// Set position at a given column
|
||||||
</span>$<span class="kw">this-></span>col<span class="kw">=</span>$col<span class="kw">;
|
</span>$<span class="kw">this-></span>col <span class="kw">= </span>$col<span class="kw">;
|
||||||
</span>$x<span class="kw">=</span>10<span class="kw">+</span>$col<span class="kw">*</span>65<span class="kw">;
|
</span>$x <span class="kw">= </span>10<span class="kw">+</span>$col<span class="kw">*</span>65<span class="kw">;
|
||||||
</span>$<span class="kw">this-></span>SetLeftMargin<span class="kw">(</span>$x<span class="kw">);
|
</span>$<span class="kw">this-></span>SetLeftMargin<span class="kw">(</span>$x<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetX<span class="kw">(</span>$x<span class="kw">);
|
</span>$<span class="kw">this-></span>SetX<span class="kw">(</span>$x<span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>AcceptPageBreak<span class="kw">()
|
function </span>AcceptPageBreak<span class="kw">()
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Method accepting or not automatic page break
|
</span><span class="cmt">// Method accepting or not automatic page break
|
||||||
</span><span class="kw">if(</span>$<span class="kw">this-></span>col<span class="kw"><</span>2<span class="kw">)
|
</span><span class="kw">if(</span>$<span class="kw">this-></span>col<span class="kw"><</span>2<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Go to next column
|
</span><span class="cmt">// Go to next column
|
||||||
</span>$<span class="kw">this-></span>SetCol<span class="kw">(</span>$<span class="kw">this-></span>col<span class="kw">+</span>1<span class="kw">);
|
</span>$<span class="kw">this-></span>SetCol<span class="kw">(</span>$<span class="kw">this-></span>col<span class="kw">+</span>1<span class="kw">);
|
||||||
</span><span class="cmt">//Set ordinate to top
|
</span><span class="cmt">// Set ordinate to top
|
||||||
</span>$<span class="kw">this-></span>SetY<span class="kw">(</span>$<span class="kw">this-></span>y0<span class="kw">);
|
</span>$<span class="kw">this-></span>SetY<span class="kw">(</span>$<span class="kw">this-></span>y0<span class="kw">);
|
||||||
</span><span class="cmt">//Keep on page
|
</span><span class="cmt">// Keep on page
|
||||||
</span><span class="kw">return </span>false<span class="kw">;
|
</span><span class="kw">return </span>false<span class="kw">;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Go back to first column
|
</span><span class="cmt">// Go back to first column
|
||||||
</span>$<span class="kw">this-></span>SetCol<span class="kw">(</span>0<span class="kw">);
|
</span>$<span class="kw">this-></span>SetCol<span class="kw">(</span>0<span class="kw">);
|
||||||
</span><span class="cmt">//Page break
|
</span><span class="cmt">// Page break
|
||||||
</span><span class="kw">return </span>true<span class="kw">;
|
</span><span class="kw">return </span>true<span class="kw">;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>ChapterTitle<span class="kw">(</span>$num<span class="kw">,</span>$label<span class="kw">)
|
function </span>ChapterTitle<span class="kw">(</span>$num<span class="kw">, </span>$label<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Title
|
</span><span class="cmt">// Title
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>200<span class="kw">,</span>220<span class="kw">,</span>255<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>200<span class="kw">,</span>220<span class="kw">,</span>255<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>6<span class="kw">,</span><span class="str">"Chapter $num : $label"</span><span class="kw">,</span>0<span class="kw">,</span>1<span class="kw">,</span><span class="str">'L'</span><span class="kw">,</span>true<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>6<span class="kw">,</span><span class="str">"Chapter </span>$num<span class="str"> : </span>$label<span class="str">"</span><span class="kw">,</span>0<span class="kw">,</span>1<span class="kw">,</span><span class="str">'L'</span><span class="kw">,</span>true<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>4<span class="kw">);
|
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>4<span class="kw">);
|
||||||
</span><span class="cmt">//Save ordinate
|
</span><span class="cmt">// Save ordinate
|
||||||
</span>$<span class="kw">this-></span>y0<span class="kw">=</span>$<span class="kw">this-></span>GetY<span class="kw">();
|
</span>$<span class="kw">this-></span>y0 <span class="kw">= </span>$<span class="kw">this-></span>GetY<span class="kw">();
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>ChapterBody<span class="kw">(</span>$file<span class="kw">)
|
function </span>ChapterBody<span class="kw">(</span>$file<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Read text file
|
</span><span class="cmt">// Read text file
|
||||||
</span>$f<span class="kw">=</span>fopen<span class="kw">(</span>$file<span class="kw">,</span><span class="str">'r'</span><span class="kw">);
|
</span>$txt <span class="kw">= </span>file_get_contents<span class="kw">(</span>$file<span class="kw">);
|
||||||
</span>$txt<span class="kw">=</span>fread<span class="kw">(</span>$f<span class="kw">,</span>filesize<span class="kw">(</span>$file<span class="kw">));
|
</span><span class="cmt">// Font
|
||||||
</span>fclose<span class="kw">(</span>$f<span class="kw">);
|
|
||||||
</span><span class="cmt">//Font
|
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Times'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">'Times'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>12<span class="kw">);
|
||||||
</span><span class="cmt">//Output text in a 6 cm width column
|
</span><span class="cmt">// Output text in a 6 cm width column
|
||||||
</span>$<span class="kw">this-></span>MultiCell<span class="kw">(</span>60<span class="kw">,</span>5<span class="kw">,</span>$txt<span class="kw">);
|
</span>$<span class="kw">this-></span>MultiCell<span class="kw">(</span>60<span class="kw">,</span>5<span class="kw">,</span>$txt<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
||||||
</span><span class="cmt">//Mention
|
</span><span class="cmt">// Mention
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>5<span class="kw">,</span><span class="str">'(end of excerpt)'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>5<span class="kw">,</span><span class="str">'(end of excerpt)'</span><span class="kw">);
|
||||||
</span><span class="cmt">//Go back to first column
|
</span><span class="cmt">// Go back to first column
|
||||||
</span>$<span class="kw">this-></span>SetCol<span class="kw">(</span>0<span class="kw">);
|
</span>$<span class="kw">this-></span>SetCol<span class="kw">(</span>0<span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>PrintChapter<span class="kw">(</span>$num<span class="kw">,</span>$title<span class="kw">,</span>$file<span class="kw">)
|
function </span>PrintChapter<span class="kw">(</span>$num<span class="kw">, </span>$title<span class="kw">, </span>$file<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Add chapter
|
</span><span class="cmt">// Add chapter
|
||||||
</span>$<span class="kw">this-></span>AddPage<span class="kw">();
|
</span>$<span class="kw">this-></span>AddPage<span class="kw">();
|
||||||
</span>$<span class="kw">this-></span>ChapterTitle<span class="kw">(</span>$num<span class="kw">,</span>$title<span class="kw">);
|
</span>$<span class="kw">this-></span>ChapterTitle<span class="kw">(</span>$num<span class="kw">,</span>$title<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>ChapterBody<span class="kw">(</span>$file<span class="kw">);
|
</span>$<span class="kw">this-></span>ChapterBody<span class="kw">(</span>$file<span class="kw">);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</span>$pdf<span class="kw">=new </span>PDF<span class="kw">();
|
</span>$pdf <span class="kw">= new </span>PDF<span class="kw">();
|
||||||
</span>$title<span class="kw">=</span><span class="str">'20000 Leagues Under the Seas'</span><span class="kw">;
|
</span>$title <span class="kw">= </span><span class="str">'20000 Leagues Under the Seas'</span><span class="kw">;
|
||||||
</span>$pdf<span class="kw">-></span>SetTitle<span class="kw">(</span>$title<span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetTitle<span class="kw">(</span>$title<span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>SetAuthor<span class="kw">(</span><span class="str">'Jules Verne'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetAuthor<span class="kw">(</span><span class="str">'Jules Verne'</span><span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>PrintChapter<span class="kw">(</span>1<span class="kw">,</span><span class="str">'A RUNAWAY REEF'</span><span class="kw">,</span><span class="str">'20k_c1.txt'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>PrintChapter<span class="kw">(</span>1<span class="kw">,</span><span class="str">'A RUNAWAY REEF'</span><span class="kw">,</span><span class="str">'20k_c1.txt'</span><span class="kw">);
|
||||||
|
|
|
@ -3,18 +3,18 @@ require('../fpdf.php');
|
||||||
|
|
||||||
class PDF extends FPDF
|
class PDF extends FPDF
|
||||||
{
|
{
|
||||||
//Current column
|
// Current column
|
||||||
var $col=0;
|
var $col = 0;
|
||||||
//Ordinate of column start
|
// Ordinate of column start
|
||||||
var $y0;
|
var $y0;
|
||||||
|
|
||||||
function Header()
|
function Header()
|
||||||
{
|
{
|
||||||
//Page header
|
// Page header
|
||||||
global $title;
|
global $title;
|
||||||
|
|
||||||
$this->SetFont('Arial','B',15);
|
$this->SetFont('Arial','B',15);
|
||||||
$w=$this->GetStringWidth($title)+6;
|
$w = $this->GetStringWidth($title)+6;
|
||||||
$this->SetX((210-$w)/2);
|
$this->SetX((210-$w)/2);
|
||||||
$this->SetDrawColor(0,80,180);
|
$this->SetDrawColor(0,80,180);
|
||||||
$this->SetFillColor(230,230,0);
|
$this->SetFillColor(230,230,0);
|
||||||
|
@ -22,13 +22,13 @@ function Header()
|
||||||
$this->SetLineWidth(1);
|
$this->SetLineWidth(1);
|
||||||
$this->Cell($w,9,$title,1,1,'C',true);
|
$this->Cell($w,9,$title,1,1,'C',true);
|
||||||
$this->Ln(10);
|
$this->Ln(10);
|
||||||
//Save ordinate
|
// Save ordinate
|
||||||
$this->y0=$this->GetY();
|
$this->y0 = $this->GetY();
|
||||||
}
|
}
|
||||||
|
|
||||||
function Footer()
|
function Footer()
|
||||||
{
|
{
|
||||||
//Page footer
|
// Page footer
|
||||||
$this->SetY(-15);
|
$this->SetY(-15);
|
||||||
$this->SetFont('Arial','I',8);
|
$this->SetFont('Arial','I',8);
|
||||||
$this->SetTextColor(128);
|
$this->SetTextColor(128);
|
||||||
|
@ -37,74 +37,72 @@ function Footer()
|
||||||
|
|
||||||
function SetCol($col)
|
function SetCol($col)
|
||||||
{
|
{
|
||||||
//Set position at a given column
|
// Set position at a given column
|
||||||
$this->col=$col;
|
$this->col = $col;
|
||||||
$x=10+$col*65;
|
$x = 10+$col*65;
|
||||||
$this->SetLeftMargin($x);
|
$this->SetLeftMargin($x);
|
||||||
$this->SetX($x);
|
$this->SetX($x);
|
||||||
}
|
}
|
||||||
|
|
||||||
function AcceptPageBreak()
|
function AcceptPageBreak()
|
||||||
{
|
{
|
||||||
//Method accepting or not automatic page break
|
// Method accepting or not automatic page break
|
||||||
if($this->col<2)
|
if($this->col<2)
|
||||||
{
|
{
|
||||||
//Go to next column
|
// Go to next column
|
||||||
$this->SetCol($this->col+1);
|
$this->SetCol($this->col+1);
|
||||||
//Set ordinate to top
|
// Set ordinate to top
|
||||||
$this->SetY($this->y0);
|
$this->SetY($this->y0);
|
||||||
//Keep on page
|
// Keep on page
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Go back to first column
|
// Go back to first column
|
||||||
$this->SetCol(0);
|
$this->SetCol(0);
|
||||||
//Page break
|
// Page break
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ChapterTitle($num,$label)
|
function ChapterTitle($num, $label)
|
||||||
{
|
{
|
||||||
//Title
|
// Title
|
||||||
$this->SetFont('Arial','',12);
|
$this->SetFont('Arial','',12);
|
||||||
$this->SetFillColor(200,220,255);
|
$this->SetFillColor(200,220,255);
|
||||||
$this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
|
$this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
|
||||||
$this->Ln(4);
|
$this->Ln(4);
|
||||||
//Save ordinate
|
// Save ordinate
|
||||||
$this->y0=$this->GetY();
|
$this->y0 = $this->GetY();
|
||||||
}
|
}
|
||||||
|
|
||||||
function ChapterBody($file)
|
function ChapterBody($file)
|
||||||
{
|
{
|
||||||
//Read text file
|
// Read text file
|
||||||
$f=fopen($file,'r');
|
$txt = file_get_contents($file);
|
||||||
$txt=fread($f,filesize($file));
|
// Font
|
||||||
fclose($f);
|
|
||||||
//Font
|
|
||||||
$this->SetFont('Times','',12);
|
$this->SetFont('Times','',12);
|
||||||
//Output text in a 6 cm width column
|
// Output text in a 6 cm width column
|
||||||
$this->MultiCell(60,5,$txt);
|
$this->MultiCell(60,5,$txt);
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
//Mention
|
// Mention
|
||||||
$this->SetFont('','I');
|
$this->SetFont('','I');
|
||||||
$this->Cell(0,5,'(end of excerpt)');
|
$this->Cell(0,5,'(end of excerpt)');
|
||||||
//Go back to first column
|
// Go back to first column
|
||||||
$this->SetCol(0);
|
$this->SetCol(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
function PrintChapter($num,$title,$file)
|
function PrintChapter($num, $title, $file)
|
||||||
{
|
{
|
||||||
//Add chapter
|
// Add chapter
|
||||||
$this->AddPage();
|
$this->AddPage();
|
||||||
$this->ChapterTitle($num,$title);
|
$this->ChapterTitle($num,$title);
|
||||||
$this->ChapterBody($file);
|
$this->ChapterBody($file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf=new PDF();
|
$pdf = new PDF();
|
||||||
$title='20000 Leagues Under the Seas';
|
$title = '20000 Leagues Under the Seas';
|
||||||
$pdf->SetTitle($title);
|
$pdf->SetTitle($title);
|
||||||
$pdf->SetAuthor('Jules Verne');
|
$pdf->SetAuthor('Jules Verne');
|
||||||
$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
|
$pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
|
||||||
|
|
|
@ -7,32 +7,32 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Tables</h1>
|
<h1>Tables</h1>
|
||||||
This tutorial shows how to make tables easily.
|
This tutorial shows different ways to make tables.
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code><?php
|
<pre><code><?php
|
||||||
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
||||||
|
|
||||||
class </span>PDF <span class="kw">extends </span>FPDF
|
class </span>PDF <span class="kw">extends </span>FPDF
|
||||||
<span class="kw">{
|
<span class="kw">{
|
||||||
</span><span class="cmt">//Load data
|
</span><span class="cmt">// Load data
|
||||||
</span><span class="kw">function </span>LoadData<span class="kw">(</span>$file<span class="kw">)
|
</span><span class="kw">function </span>LoadData<span class="kw">(</span>$file<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Read file lines
|
</span><span class="cmt">// Read file lines
|
||||||
</span>$lines<span class="kw">=</span>file<span class="kw">(</span>$file<span class="kw">);
|
</span>$lines <span class="kw">= </span>file<span class="kw">(</span>$file<span class="kw">);
|
||||||
</span>$data<span class="kw">=array();
|
</span>$data <span class="kw">= array();
|
||||||
foreach(</span>$lines <span class="kw">as </span>$line<span class="kw">)
|
foreach(</span>$lines <span class="kw">as </span>$line<span class="kw">)
|
||||||
</span>$data<span class="kw">[]=</span>explode<span class="kw">(</span><span class="str">';'</span><span class="kw">,</span>chop<span class="kw">(</span>$line<span class="kw">));
|
</span>$data<span class="kw">[] = </span>explode<span class="kw">(</span><span class="str">';'</span><span class="kw">,</span>trim<span class="kw">(</span>$line<span class="kw">));
|
||||||
return </span>$data<span class="kw">;
|
return </span>$data<span class="kw">;
|
||||||
}
|
}
|
||||||
|
|
||||||
</span><span class="cmt">//Simple table
|
</span><span class="cmt">// Simple table
|
||||||
</span><span class="kw">function </span>BasicTable<span class="kw">(</span>$header<span class="kw">,</span>$data<span class="kw">)
|
</span><span class="kw">function </span>BasicTable<span class="kw">(</span>$header<span class="kw">, </span>$data<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Header
|
</span><span class="cmt">// Header
|
||||||
</span><span class="kw">foreach(</span>$header <span class="kw">as </span>$col<span class="kw">)
|
</span><span class="kw">foreach(</span>$header <span class="kw">as </span>$col<span class="kw">)
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>40<span class="kw">,</span>7<span class="kw">,</span>$col<span class="kw">,</span>1<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>40<span class="kw">,</span>7<span class="kw">,</span>$col<span class="kw">,</span>1<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
||||||
</span><span class="cmt">//Data
|
</span><span class="cmt">// Data
|
||||||
</span><span class="kw">foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
</span><span class="kw">foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
||||||
{
|
{
|
||||||
foreach(</span>$row <span class="kw">as </span>$col<span class="kw">)
|
foreach(</span>$row <span class="kw">as </span>$col<span class="kw">)
|
||||||
|
@ -41,16 +41,16 @@ class </span>PDF <span class="kw">extends </span>FPDF
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</span><span class="cmt">//Better table
|
</span><span class="cmt">// Better table
|
||||||
</span><span class="kw">function </span>ImprovedTable<span class="kw">(</span>$header<span class="kw">,</span>$data<span class="kw">)
|
</span><span class="kw">function </span>ImprovedTable<span class="kw">(</span>$header<span class="kw">, </span>$data<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Column widths
|
</span><span class="cmt">// Column widths
|
||||||
</span>$w<span class="kw">=array(</span>40<span class="kw">,</span>35<span class="kw">,</span>40<span class="kw">,</span>45<span class="kw">);
|
</span>$w <span class="kw">= array(</span>40<span class="kw">, </span>35<span class="kw">, </span>40<span class="kw">, </span>45<span class="kw">);
|
||||||
</span><span class="cmt">//Header
|
</span><span class="cmt">// Header
|
||||||
</span><span class="kw">for(</span>$i<span class="kw">=</span>0<span class="kw">;</span>$i<span class="kw"><</span>count<span class="kw">(</span>$header<span class="kw">);</span>$i<span class="kw">++)
|
</span><span class="kw">for(</span>$i<span class="kw">=</span>0<span class="kw">;</span>$i<span class="kw"><</span>count<span class="kw">(</span>$header<span class="kw">);</span>$i<span class="kw">++)
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>$i<span class="kw">],</span>7<span class="kw">,</span>$header<span class="kw">[</span>$i<span class="kw">],</span>1<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>$i<span class="kw">],</span>7<span class="kw">,</span>$header<span class="kw">[</span>$i<span class="kw">],</span>1<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
||||||
</span><span class="cmt">//Data
|
</span><span class="cmt">// Data
|
||||||
</span><span class="kw">foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
</span><span class="kw">foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
||||||
{
|
{
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>0<span class="kw">],</span>6<span class="kw">,</span>$row<span class="kw">[</span>0<span class="kw">],</span><span class="str">'LR'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>0<span class="kw">],</span>6<span class="kw">,</span>$row<span class="kw">[</span>0<span class="kw">],</span><span class="str">'LR'</span><span class="kw">);
|
||||||
|
@ -59,30 +59,30 @@ class </span>PDF <span class="kw">extends </span>FPDF
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>3<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>3<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>3<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>3<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
||||||
}
|
}
|
||||||
</span><span class="cmt">//Closure line
|
</span><span class="cmt">// Closing line
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>array_sum<span class="kw">(</span>$w<span class="kw">),</span>0<span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'T'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>array_sum<span class="kw">(</span>$w<span class="kw">),</span>0<span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'T'</span><span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
</span><span class="cmt">//Colored table
|
</span><span class="cmt">// Colored table
|
||||||
</span><span class="kw">function </span>FancyTable<span class="kw">(</span>$header<span class="kw">,</span>$data<span class="kw">)
|
</span><span class="kw">function </span>FancyTable<span class="kw">(</span>$header<span class="kw">, </span>$data<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Colors, line width and bold font
|
</span><span class="cmt">// Colors, line width and bold font
|
||||||
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>255<span class="kw">,</span>0<span class="kw">,</span>0<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>255<span class="kw">,</span>0<span class="kw">,</span>0<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>255<span class="kw">);
|
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>255<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetDrawColor<span class="kw">(</span>128<span class="kw">,</span>0<span class="kw">,</span>0<span class="kw">);
|
</span>$<span class="kw">this-></span>SetDrawColor<span class="kw">(</span>128<span class="kw">,</span>0<span class="kw">,</span>0<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetLineWidth<span class="kw">(</span>.3<span class="kw">);
|
</span>$<span class="kw">this-></span>SetLineWidth<span class="kw">(</span>.3<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">);
|
||||||
</span><span class="cmt">//Header
|
</span><span class="cmt">// Header
|
||||||
</span>$w<span class="kw">=array(</span>40<span class="kw">,</span>35<span class="kw">,</span>40<span class="kw">,</span>45<span class="kw">);
|
</span>$w <span class="kw">= array(</span>40<span class="kw">, </span>35<span class="kw">, </span>40<span class="kw">, </span>45<span class="kw">);
|
||||||
for(</span>$i<span class="kw">=</span>0<span class="kw">;</span>$i<span class="kw"><</span>count<span class="kw">(</span>$header<span class="kw">);</span>$i<span class="kw">++)
|
for(</span>$i<span class="kw">=</span>0<span class="kw">;</span>$i<span class="kw"><</span>count<span class="kw">(</span>$header<span class="kw">);</span>$i<span class="kw">++)
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>$i<span class="kw">],</span>7<span class="kw">,</span>$header<span class="kw">[</span>$i<span class="kw">],</span>1<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">,</span>true<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>$i<span class="kw">],</span>7<span class="kw">,</span>$header<span class="kw">[</span>$i<span class="kw">],</span>1<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">,</span>true<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
||||||
</span><span class="cmt">//Color and font restoration
|
</span><span class="cmt">// Color and font restoration
|
||||||
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>224<span class="kw">,</span>235<span class="kw">,</span>255<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>224<span class="kw">,</span>235<span class="kw">,</span>255<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>0<span class="kw">);
|
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>0<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">);
|
||||||
</span><span class="cmt">//Data
|
</span><span class="cmt">// Data
|
||||||
</span>$fill<span class="kw">=</span>false<span class="kw">;
|
</span>$fill <span class="kw">= </span>false<span class="kw">;
|
||||||
foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
||||||
{
|
{
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>0<span class="kw">],</span>6<span class="kw">,</span>$row<span class="kw">[</span>0<span class="kw">],</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'L'</span><span class="kw">,</span>$fill<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>0<span class="kw">],</span>6<span class="kw">,</span>$row<span class="kw">[</span>0<span class="kw">],</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'L'</span><span class="kw">,</span>$fill<span class="kw">);
|
||||||
|
@ -90,17 +90,18 @@ class </span>PDF <span class="kw">extends </span>FPDF
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>2<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>2<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">,</span>$fill<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>2<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>2<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">,</span>$fill<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>3<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>3<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">,</span>$fill<span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>3<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>3<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">,</span>$fill<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
||||||
</span>$fill<span class="kw">=!</span>$fill<span class="kw">;
|
</span>$fill <span class="kw">= !</span>$fill<span class="kw">;
|
||||||
}
|
}
|
||||||
|
</span><span class="cmt">// Closing line
|
||||||
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>array_sum<span class="kw">(</span>$w<span class="kw">),</span>0<span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'T'</span><span class="kw">);
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>array_sum<span class="kw">(</span>$w<span class="kw">),</span>0<span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'T'</span><span class="kw">);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</span>$pdf<span class="kw">=new </span>PDF<span class="kw">();
|
</span>$pdf <span class="kw">= new </span>PDF<span class="kw">();
|
||||||
</span><span class="cmt">//Column titles
|
</span><span class="cmt">// Column headings
|
||||||
</span>$header<span class="kw">=array(</span><span class="str">'Country'</span><span class="kw">,</span><span class="str">'Capital'</span><span class="kw">,</span><span class="str">'Area (sq km)'</span><span class="kw">,</span><span class="str">'Pop. (thousands)'</span><span class="kw">);
|
</span>$header <span class="kw">= array(</span><span class="str">'Country'</span><span class="kw">, </span><span class="str">'Capital'</span><span class="kw">, </span><span class="str">'Area (sq km)'</span><span class="kw">, </span><span class="str">'Pop. (thousands)'</span><span class="kw">);
|
||||||
</span><span class="cmt">//Data loading
|
</span><span class="cmt">// Data loading
|
||||||
</span>$data<span class="kw">=</span>$pdf<span class="kw">-></span>LoadData<span class="kw">(</span><span class="str">'countries.txt'</span><span class="kw">);
|
</span>$data <span class="kw">= </span>$pdf<span class="kw">-></span>LoadData<span class="kw">(</span><span class="str">'countries.txt'</span><span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>14<span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>14<span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>BasicTable<span class="kw">(</span>$header<span class="kw">,</span>$data<span class="kw">);
|
</span>$pdf<span class="kw">-></span>BasicTable<span class="kw">(</span>$header<span class="kw">,</span>$data<span class="kw">);
|
||||||
|
@ -112,13 +113,13 @@ class </span>PDF <span class="kw">extends </span>FPDF
|
||||||
</span>?></code></pre>
|
</span>?></code></pre>
|
||||||
</div>
|
</div>
|
||||||
<p class='demo'><a href='tuto5.php' target='_blank' class='demo'>[Demo]</a></p>
|
<p class='demo'><a href='tuto5.php' target='_blank' class='demo'>[Demo]</a></p>
|
||||||
A table being just a collection of cells, it is natural to build one from them. The first
|
A table being just a collection of cells, it's natural to build one from them. The first
|
||||||
example is achieved in the most basic way possible: simple framed cells, all of the same size
|
example is achieved in the most basic way possible: simple framed cells, all of the same size
|
||||||
and left aligned. The result is rudimentary but very quick to obtain.
|
and left aligned. The result is rudimentary but very quick to obtain.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
The second table brings some improvements: each column has its own width, titles are centered
|
The second table brings some improvements: each column has its own width, headings are centered,
|
||||||
and figures right aligned. Moreover, horizontal lines have been removed. This is done by means
|
and numbers right aligned. Moreover, horizontal lines have been removed. This is done by means
|
||||||
of the <code>border</code> parameter of the <a href='../doc/cell.htm'>Cell()</a> method, which specifies which sides of the
|
of the <code>border</code> parameter of the <a href='../doc/cell.htm'>Cell()</a> method, which specifies which sides of the
|
||||||
cell must be drawn. Here we want the left (<code>L</code>) and right (<code>R</code>) ones. It remains
|
cell must be drawn. Here we want the left (<code>L</code>) and right (<code>R</code>) ones. It remains
|
||||||
the problem of the horizontal line to finish the table. There are two possibilities: either
|
the problem of the horizontal line to finish the table. There are two possibilities: either
|
||||||
|
|
|
@ -3,25 +3,25 @@ require('../fpdf.php');
|
||||||
|
|
||||||
class PDF extends FPDF
|
class PDF extends FPDF
|
||||||
{
|
{
|
||||||
//Load data
|
// Load data
|
||||||
function LoadData($file)
|
function LoadData($file)
|
||||||
{
|
{
|
||||||
//Read file lines
|
// Read file lines
|
||||||
$lines=file($file);
|
$lines = file($file);
|
||||||
$data=array();
|
$data = array();
|
||||||
foreach($lines as $line)
|
foreach($lines as $line)
|
||||||
$data[]=explode(';',chop($line));
|
$data[] = explode(';',trim($line));
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Simple table
|
// Simple table
|
||||||
function BasicTable($header,$data)
|
function BasicTable($header, $data)
|
||||||
{
|
{
|
||||||
//Header
|
// Header
|
||||||
foreach($header as $col)
|
foreach($header as $col)
|
||||||
$this->Cell(40,7,$col,1);
|
$this->Cell(40,7,$col,1);
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
//Data
|
// Data
|
||||||
foreach($data as $row)
|
foreach($data as $row)
|
||||||
{
|
{
|
||||||
foreach($row as $col)
|
foreach($row as $col)
|
||||||
|
@ -30,16 +30,16 @@ function BasicTable($header,$data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Better table
|
// Better table
|
||||||
function ImprovedTable($header,$data)
|
function ImprovedTable($header, $data)
|
||||||
{
|
{
|
||||||
//Column widths
|
// Column widths
|
||||||
$w=array(40,35,40,45);
|
$w = array(40, 35, 40, 45);
|
||||||
//Header
|
// Header
|
||||||
for($i=0;$i<count($header);$i++)
|
for($i=0;$i<count($header);$i++)
|
||||||
$this->Cell($w[$i],7,$header[$i],1,0,'C');
|
$this->Cell($w[$i],7,$header[$i],1,0,'C');
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
//Data
|
// Data
|
||||||
foreach($data as $row)
|
foreach($data as $row)
|
||||||
{
|
{
|
||||||
$this->Cell($w[0],6,$row[0],'LR');
|
$this->Cell($w[0],6,$row[0],'LR');
|
||||||
|
@ -48,30 +48,30 @@ function ImprovedTable($header,$data)
|
||||||
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
|
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
}
|
}
|
||||||
//Closure line
|
// Closing line
|
||||||
$this->Cell(array_sum($w),0,'','T');
|
$this->Cell(array_sum($w),0,'','T');
|
||||||
}
|
}
|
||||||
|
|
||||||
//Colored table
|
// Colored table
|
||||||
function FancyTable($header,$data)
|
function FancyTable($header, $data)
|
||||||
{
|
{
|
||||||
//Colors, line width and bold font
|
// Colors, line width and bold font
|
||||||
$this->SetFillColor(255,0,0);
|
$this->SetFillColor(255,0,0);
|
||||||
$this->SetTextColor(255);
|
$this->SetTextColor(255);
|
||||||
$this->SetDrawColor(128,0,0);
|
$this->SetDrawColor(128,0,0);
|
||||||
$this->SetLineWidth(.3);
|
$this->SetLineWidth(.3);
|
||||||
$this->SetFont('','B');
|
$this->SetFont('','B');
|
||||||
//Header
|
// Header
|
||||||
$w=array(40,35,40,45);
|
$w = array(40, 35, 40, 45);
|
||||||
for($i=0;$i<count($header);$i++)
|
for($i=0;$i<count($header);$i++)
|
||||||
$this->Cell($w[$i],7,$header[$i],1,0,'C',true);
|
$this->Cell($w[$i],7,$header[$i],1,0,'C',true);
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
//Color and font restoration
|
// Color and font restoration
|
||||||
$this->SetFillColor(224,235,255);
|
$this->SetFillColor(224,235,255);
|
||||||
$this->SetTextColor(0);
|
$this->SetTextColor(0);
|
||||||
$this->SetFont('');
|
$this->SetFont('');
|
||||||
//Data
|
// Data
|
||||||
$fill=false;
|
$fill = false;
|
||||||
foreach($data as $row)
|
foreach($data as $row)
|
||||||
{
|
{
|
||||||
$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
|
$this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
|
||||||
|
@ -79,17 +79,18 @@ function FancyTable($header,$data)
|
||||||
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
|
$this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
|
||||||
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
|
$this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
|
||||||
$this->Ln();
|
$this->Ln();
|
||||||
$fill=!$fill;
|
$fill = !$fill;
|
||||||
}
|
}
|
||||||
|
// Closing line
|
||||||
$this->Cell(array_sum($w),0,'','T');
|
$this->Cell(array_sum($w),0,'','T');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf=new PDF();
|
$pdf = new PDF();
|
||||||
//Column titles
|
// Column headings
|
||||||
$header=array('Country','Capital','Area (sq km)','Pop. (thousands)');
|
$header = array('Country', 'Capital', 'Area (sq km)', 'Pop. (thousands)');
|
||||||
//Data loading
|
// Data loading
|
||||||
$data=$pdf->LoadData('countries.txt');
|
$data = $pdf->LoadData('countries.txt');
|
||||||
$pdf->SetFont('Arial','',14);
|
$pdf->SetFont('Arial','',14);
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$pdf->BasicTable($header,$data);
|
$pdf->BasicTable($header,$data);
|
||||||
|
|
|
@ -20,27 +20,27 @@ var </span>$I<span class="kw">;
|
||||||
var </span>$U<span class="kw">;
|
var </span>$U<span class="kw">;
|
||||||
var </span>$HREF<span class="kw">;
|
var </span>$HREF<span class="kw">;
|
||||||
|
|
||||||
function </span>PDF<span class="kw">(</span>$orientation<span class="kw">=</span><span class="str">'P'</span><span class="kw">,</span>$unit<span class="kw">=</span><span class="str">'mm'</span><span class="kw">,</span>$format<span class="kw">=</span><span class="str">'A4'</span><span class="kw">)
|
function </span>PDF<span class="kw">(</span>$orientation<span class="kw">=</span><span class="str">'P'</span><span class="kw">, </span>$unit<span class="kw">=</span><span class="str">'mm'</span><span class="kw">, </span>$size<span class="kw">=</span><span class="str">'A4'</span><span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Call parent constructor
|
</span><span class="cmt">// Call parent constructor
|
||||||
</span>$<span class="kw">this-></span>FPDF<span class="kw">(</span>$orientation<span class="kw">,</span>$unit<span class="kw">,</span>$format<span class="kw">);
|
</span>$<span class="kw">this-></span>FPDF<span class="kw">(</span>$orientation<span class="kw">,</span>$unit<span class="kw">,</span>$size<span class="kw">);
|
||||||
</span><span class="cmt">//Initialization
|
</span><span class="cmt">// Initialization
|
||||||
</span>$<span class="kw">this-></span>B<span class="kw">=</span>0<span class="kw">;
|
</span>$<span class="kw">this-></span>B <span class="kw">= </span>0<span class="kw">;
|
||||||
</span>$<span class="kw">this-></span>I<span class="kw">=</span>0<span class="kw">;
|
</span>$<span class="kw">this-></span>I <span class="kw">= </span>0<span class="kw">;
|
||||||
</span>$<span class="kw">this-></span>U<span class="kw">=</span>0<span class="kw">;
|
</span>$<span class="kw">this-></span>U <span class="kw">= </span>0<span class="kw">;
|
||||||
</span>$<span class="kw">this-></span>HREF<span class="kw">=</span><span class="str">''</span><span class="kw">;
|
</span>$<span class="kw">this-></span>HREF <span class="kw">= </span><span class="str">''</span><span class="kw">;
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>WriteHTML<span class="kw">(</span>$html<span class="kw">)
|
function </span>WriteHTML<span class="kw">(</span>$html<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//HTML parser
|
</span><span class="cmt">// HTML parser
|
||||||
</span>$html<span class="kw">=</span>str_replace<span class="kw">(</span><span class="str">"\n"</span><span class="kw">,</span><span class="str">' '</span><span class="kw">,</span>$html<span class="kw">);
|
</span>$html <span class="kw">= </span>str_replace<span class="kw">(</span><span class="str">"\n"</span><span class="kw">,</span><span class="str">' '</span><span class="kw">,</span>$html<span class="kw">);
|
||||||
</span>$a<span class="kw">=</span>preg_split<span class="kw">(</span><span class="str">'/<(.*)>/U'</span><span class="kw">,</span>$html<span class="kw">,-</span>1<span class="kw">,</span>PREG_SPLIT_DELIM_CAPTURE<span class="kw">);
|
</span>$a <span class="kw">= </span>preg_split<span class="kw">(</span><span class="str">'/<(.*)>/U'</span><span class="kw">,</span>$html<span class="kw">,-</span>1<span class="kw">,</span>PREG_SPLIT_DELIM_CAPTURE<span class="kw">);
|
||||||
foreach(</span>$a <span class="kw">as </span>$i<span class="kw">=></span>$e<span class="kw">)
|
foreach(</span>$a <span class="kw">as </span>$i<span class="kw">=></span>$e<span class="kw">)
|
||||||
{
|
{
|
||||||
if(</span>$i<span class="kw">%</span>2<span class="kw">==</span>0<span class="kw">)
|
if(</span>$i<span class="kw">%</span>2<span class="kw">==</span>0<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Text
|
</span><span class="cmt">// Text
|
||||||
</span><span class="kw">if(</span>$<span class="kw">this-></span>HREF<span class="kw">)
|
</span><span class="kw">if(</span>$<span class="kw">this-></span>HREF<span class="kw">)
|
||||||
</span>$<span class="kw">this-></span>PutLink<span class="kw">(</span>$<span class="kw">this-></span>HREF<span class="kw">,</span>$e<span class="kw">);
|
</span>$<span class="kw">this-></span>PutLink<span class="kw">(</span>$<span class="kw">this-></span>HREF<span class="kw">,</span>$e<span class="kw">);
|
||||||
else
|
else
|
||||||
|
@ -48,19 +48,19 @@ function </span>WriteHTML<span class="kw">(</span>$html<span class="kw">)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Tag
|
</span><span class="cmt">// Tag
|
||||||
</span><span class="kw">if(</span>$e<span class="kw">{</span>0<span class="kw">}==</span><span class="str">'/'</span><span class="kw">)
|
</span><span class="kw">if(</span>$e<span class="kw">[</span>0<span class="kw">]==</span><span class="str">'/'</span><span class="kw">)
|
||||||
</span>$<span class="kw">this-></span>CloseTag<span class="kw">(</span>strtoupper<span class="kw">(</span>substr<span class="kw">(</span>$e<span class="kw">,</span>1<span class="kw">)));
|
</span>$<span class="kw">this-></span>CloseTag<span class="kw">(</span>strtoupper<span class="kw">(</span>substr<span class="kw">(</span>$e<span class="kw">,</span>1<span class="kw">)));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Extract attributes
|
</span><span class="cmt">// Extract attributes
|
||||||
</span>$a2<span class="kw">=</span>explode<span class="kw">(</span><span class="str">' '</span><span class="kw">,</span>$e<span class="kw">);
|
</span>$a2 <span class="kw">= </span>explode<span class="kw">(</span><span class="str">' '</span><span class="kw">,</span>$e<span class="kw">);
|
||||||
</span>$tag<span class="kw">=</span>strtoupper<span class="kw">(</span>array_shift<span class="kw">(</span>$a2<span class="kw">));
|
</span>$tag <span class="kw">= </span>strtoupper<span class="kw">(</span>array_shift<span class="kw">(</span>$a2<span class="kw">));
|
||||||
</span>$attr<span class="kw">=array();
|
</span>$attr <span class="kw">= array();
|
||||||
foreach(</span>$a2 <span class="kw">as </span>$v<span class="kw">)
|
foreach(</span>$a2 <span class="kw">as </span>$v<span class="kw">)
|
||||||
{
|
{
|
||||||
if(</span>preg_match<span class="kw">(</span><span class="str">'/([^=]*)=["\']?([^"\']*)/'</span><span class="kw">,</span>$v<span class="kw">,</span>$a3<span class="kw">))
|
if(</span>preg_match<span class="kw">(</span><span class="str">'/([^=]*)=["\']?([^"\']*)/'</span><span class="kw">,</span>$v<span class="kw">,</span>$a3<span class="kw">))
|
||||||
</span>$attr<span class="kw">[</span>strtoupper<span class="kw">(</span>$a3<span class="kw">[</span>1<span class="kw">])]=</span>$a3<span class="kw">[</span>2<span class="kw">];
|
</span>$attr<span class="kw">[</span>strtoupper<span class="kw">(</span>$a3<span class="kw">[</span>1<span class="kw">])] = </span>$a3<span class="kw">[</span>2<span class="kw">];
|
||||||
}
|
}
|
||||||
</span>$<span class="kw">this-></span>OpenTag<span class="kw">(</span>$tag<span class="kw">,</span>$attr<span class="kw">);
|
</span>$<span class="kw">this-></span>OpenTag<span class="kw">(</span>$tag<span class="kw">,</span>$attr<span class="kw">);
|
||||||
}
|
}
|
||||||
|
@ -68,40 +68,42 @@ function </span>WriteHTML<span class="kw">(</span>$html<span class="kw">)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>OpenTag<span class="kw">(</span>$tag<span class="kw">,</span>$attr<span class="kw">)
|
function </span>OpenTag<span class="kw">(</span>$tag<span class="kw">, </span>$attr<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Opening tag
|
</span><span class="cmt">// Opening tag
|
||||||
</span><span class="kw">if(</span>$tag<span class="kw">==</span><span class="str">'B' </span><span class="kw">or </span>$tag<span class="kw">==</span><span class="str">'I' </span><span class="kw">or </span>$tag<span class="kw">==</span><span class="str">'U'</span><span class="kw">)
|
</span><span class="kw">if(</span>$tag<span class="kw">==</span><span class="str">'B' </span><span class="kw">|| </span>$tag<span class="kw">==</span><span class="str">'I' </span><span class="kw">|| </span>$tag<span class="kw">==</span><span class="str">'U'</span><span class="kw">)
|
||||||
</span>$<span class="kw">this-></span>SetStyle<span class="kw">(</span>$tag<span class="kw">,</span>true<span class="kw">);
|
</span>$<span class="kw">this-></span>SetStyle<span class="kw">(</span>$tag<span class="kw">,</span>true<span class="kw">);
|
||||||
if(</span>$tag<span class="kw">==</span><span class="str">'A'</span><span class="kw">)
|
if(</span>$tag<span class="kw">==</span><span class="str">'A'</span><span class="kw">)
|
||||||
</span>$<span class="kw">this-></span>HREF<span class="kw">=</span>$attr<span class="kw">[</span><span class="str">'HREF'</span><span class="kw">];
|
</span>$<span class="kw">this-></span>HREF <span class="kw">= </span>$attr<span class="kw">[</span><span class="str">'HREF'</span><span class="kw">];
|
||||||
if(</span>$tag<span class="kw">==</span><span class="str">'BR'</span><span class="kw">)
|
if(</span>$tag<span class="kw">==</span><span class="str">'BR'</span><span class="kw">)
|
||||||
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>5<span class="kw">);
|
</span>$<span class="kw">this-></span>Ln<span class="kw">(</span>5<span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>CloseTag<span class="kw">(</span>$tag<span class="kw">)
|
function </span>CloseTag<span class="kw">(</span>$tag<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Closing tag
|
</span><span class="cmt">// Closing tag
|
||||||
</span><span class="kw">if(</span>$tag<span class="kw">==</span><span class="str">'B' </span><span class="kw">or </span>$tag<span class="kw">==</span><span class="str">'I' </span><span class="kw">or </span>$tag<span class="kw">==</span><span class="str">'U'</span><span class="kw">)
|
</span><span class="kw">if(</span>$tag<span class="kw">==</span><span class="str">'B' </span><span class="kw">|| </span>$tag<span class="kw">==</span><span class="str">'I' </span><span class="kw">|| </span>$tag<span class="kw">==</span><span class="str">'U'</span><span class="kw">)
|
||||||
</span>$<span class="kw">this-></span>SetStyle<span class="kw">(</span>$tag<span class="kw">,</span>false<span class="kw">);
|
</span>$<span class="kw">this-></span>SetStyle<span class="kw">(</span>$tag<span class="kw">,</span>false<span class="kw">);
|
||||||
if(</span>$tag<span class="kw">==</span><span class="str">'A'</span><span class="kw">)
|
if(</span>$tag<span class="kw">==</span><span class="str">'A'</span><span class="kw">)
|
||||||
</span>$<span class="kw">this-></span>HREF<span class="kw">=</span><span class="str">''</span><span class="kw">;
|
</span>$<span class="kw">this-></span>HREF <span class="kw">= </span><span class="str">''</span><span class="kw">;
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>SetStyle<span class="kw">(</span>$tag<span class="kw">,</span>$enable<span class="kw">)
|
function </span>SetStyle<span class="kw">(</span>$tag<span class="kw">, </span>$enable<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Modify style and select corresponding font
|
</span><span class="cmt">// Modify style and select corresponding font
|
||||||
</span>$<span class="kw">this-></span>$tag<span class="kw">+=(</span>$enable <span class="kw">? </span>1 <span class="kw">: -</span>1<span class="kw">);
|
</span>$<span class="kw">this-></span>$tag <span class="kw">+= (</span>$enable <span class="kw">? </span>1 <span class="kw">: -</span>1<span class="kw">);
|
||||||
</span>$style<span class="kw">=</span><span class="str">''</span><span class="kw">;
|
</span>$style <span class="kw">= </span><span class="str">''</span><span class="kw">;
|
||||||
foreach(array(</span><span class="str">'B'</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">,</span><span class="str">'U'</span><span class="kw">) as </span>$s<span class="kw">)
|
foreach(array(</span><span class="str">'B'</span><span class="kw">, </span><span class="str">'I'</span><span class="kw">, </span><span class="str">'U'</span><span class="kw">) as </span>$s<span class="kw">)
|
||||||
|
{
|
||||||
if(</span>$<span class="kw">this-></span>$s<span class="kw">></span>0<span class="kw">)
|
if(</span>$<span class="kw">this-></span>$s<span class="kw">></span>0<span class="kw">)
|
||||||
</span>$style<span class="kw">.=</span>$s<span class="kw">;
|
</span>$style <span class="kw">.= </span>$s<span class="kw">;
|
||||||
|
}
|
||||||
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span>$style<span class="kw">);
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span>$style<span class="kw">);
|
||||||
}
|
}
|
||||||
|
|
||||||
function </span>PutLink<span class="kw">(</span>$URL<span class="kw">,</span>$txt<span class="kw">)
|
function </span>PutLink<span class="kw">(</span>$URL<span class="kw">, </span>$txt<span class="kw">)
|
||||||
{
|
{
|
||||||
</span><span class="cmt">//Put a hyperlink
|
</span><span class="cmt">// Put a hyperlink
|
||||||
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>0<span class="kw">,</span>0<span class="kw">,</span>255<span class="kw">);
|
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>0<span class="kw">,</span>0<span class="kw">,</span>255<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>SetStyle<span class="kw">(</span><span class="str">'U'</span><span class="kw">,</span>true<span class="kw">);
|
</span>$<span class="kw">this-></span>SetStyle<span class="kw">(</span><span class="str">'U'</span><span class="kw">,</span>true<span class="kw">);
|
||||||
</span>$<span class="kw">this-></span>Write<span class="kw">(</span>5<span class="kw">,</span>$txt<span class="kw">,</span>$URL<span class="kw">);
|
</span>$<span class="kw">this-></span>Write<span class="kw">(</span>5<span class="kw">,</span>$txt<span class="kw">,</span>$URL<span class="kw">);
|
||||||
|
@ -110,20 +112,20 @@ function </span>PutLink<span class="kw">(</span>$URL<span class="kw">,</span>$tx
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</span>$html<span class="kw">=</span><span class="str">'You can now easily print text mixing different styles: <b>bold</b>, <i>italic</i>,
|
</span>$html <span class="kw">= </span><span class="str">'You can now easily print text mixing different styles: <b>bold</b>, <i>italic</i>,
|
||||||
<u>underlined</u>, or <b><i><u>all at once</u></i></b>!<br><br>You can also insert links on
|
<u>underlined</u>, or <b><i><u>all at once</u></i></b>!<br><br>You can also insert links on
|
||||||
text, such as <a href="http://www.fpdf.org">www.fpdf.org</a>, or on an image: click on the logo.'</span><span class="kw">;
|
text, such as <a href="http://www.fpdf.org">www.fpdf.org</a>, or on an image: click on the logo.'</span><span class="kw">;
|
||||||
|
|
||||||
</span>$pdf<span class="kw">=new </span>PDF<span class="kw">();
|
</span>$pdf <span class="kw">= new </span>PDF<span class="kw">();
|
||||||
</span><span class="cmt">//First page
|
</span><span class="cmt">// First page
|
||||||
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>20<span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>20<span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>Write<span class="kw">(</span>5<span class="kw">,</span><span class="str">'To find out what\'s new in this tutorial, click '</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>Write<span class="kw">(</span>5<span class="kw">,</span><span class="str">"To find out what's new in this tutorial, click "</span><span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'U'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'U'</span><span class="kw">);
|
||||||
</span>$link<span class="kw">=</span>$pdf<span class="kw">-></span>AddLink<span class="kw">();
|
</span>$link <span class="kw">= </span>$pdf<span class="kw">-></span>AddLink<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>Write<span class="kw">(</span>5<span class="kw">,</span><span class="str">'here'</span><span class="kw">,</span>$link<span class="kw">);
|
</span>$pdf<span class="kw">-></span>Write<span class="kw">(</span>5<span class="kw">,</span><span class="str">'here'</span><span class="kw">,</span>$link<span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">);
|
||||||
</span><span class="cmt">//Second page
|
</span><span class="cmt">// Second page
|
||||||
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>SetLink<span class="kw">(</span>$link<span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetLink<span class="kw">(</span>$link<span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>Image<span class="kw">(</span><span class="str">'logo.png'</span><span class="kw">,</span>10<span class="kw">,</span>12<span class="kw">,</span>30<span class="kw">,</span>0<span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'http://www.fpdf.org'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>Image<span class="kw">(</span><span class="str">'logo.png'</span><span class="kw">,</span>10<span class="kw">,</span>12<span class="kw">,</span>30<span class="kw">,</span>0<span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'http://www.fpdf.org'</span><span class="kw">);
|
||||||
|
@ -134,7 +136,7 @@ text, such as <a href="http://www.fpdf.org">www.fpdf.org</a>, or on
|
||||||
</span>?></code></pre>
|
</span>?></code></pre>
|
||||||
</div>
|
</div>
|
||||||
<p class='demo'><a href='tuto6.php' target='_blank' class='demo'>[Demo]</a></p>
|
<p class='demo'><a href='tuto6.php' target='_blank' class='demo'>[Demo]</a></p>
|
||||||
The new method to print text is <a href='../doc/write.htm'>Write()</a>. It is very close to <a href='../doc/multicell.htm'>MultiCell()</a>; the differences are:
|
The new method to print text is <a href='../doc/write.htm'>Write()</a>. It's very close to <a href='../doc/multicell.htm'>MultiCell()</a>; the differences are:
|
||||||
<ul>
|
<ul>
|
||||||
<li>The end of line is at the right margin and the next line begins at the left one</li>
|
<li>The end of line is at the right margin and the next line begins at the left one</li>
|
||||||
<li>The current position moves at the end of the text</li>
|
<li>The current position moves at the end of the text</li>
|
||||||
|
@ -150,8 +152,8 @@ passed as third parameter of Write(). Once the second page is created, we use <a
|
||||||
make the link point to the beginning of the current page.
|
make the link point to the beginning of the current page.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Then we put an image with a link on it. An external link points to an URL (HTTP, mailto...).
|
Then we put an image with an external link on it. An external link is just a URL. It's passed as
|
||||||
The URL is simply passed as last parameter of <a href='../doc/image.htm'>Image()</a>.
|
last parameter of <a href='../doc/image.htm'>Image()</a>.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Finally, the left margin is moved after the image with <a href='../doc/setleftmargin.htm'>SetLeftMargin()</a> and some text in
|
Finally, the left margin is moved after the image with <a href='../doc/setleftmargin.htm'>SetLeftMargin()</a> and some text in
|
||||||
|
|
|
@ -8,27 +8,27 @@ var $I;
|
||||||
var $U;
|
var $U;
|
||||||
var $HREF;
|
var $HREF;
|
||||||
|
|
||||||
function PDF($orientation='P',$unit='mm',$format='A4')
|
function PDF($orientation='P', $unit='mm', $size='A4')
|
||||||
{
|
{
|
||||||
//Call parent constructor
|
// Call parent constructor
|
||||||
$this->FPDF($orientation,$unit,$format);
|
$this->FPDF($orientation,$unit,$size);
|
||||||
//Initialization
|
// Initialization
|
||||||
$this->B=0;
|
$this->B = 0;
|
||||||
$this->I=0;
|
$this->I = 0;
|
||||||
$this->U=0;
|
$this->U = 0;
|
||||||
$this->HREF='';
|
$this->HREF = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function WriteHTML($html)
|
function WriteHTML($html)
|
||||||
{
|
{
|
||||||
//HTML parser
|
// HTML parser
|
||||||
$html=str_replace("\n",' ',$html);
|
$html = str_replace("\n",' ',$html);
|
||||||
$a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
|
$a = preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
|
||||||
foreach($a as $i=>$e)
|
foreach($a as $i=>$e)
|
||||||
{
|
{
|
||||||
if($i%2==0)
|
if($i%2==0)
|
||||||
{
|
{
|
||||||
//Text
|
// Text
|
||||||
if($this->HREF)
|
if($this->HREF)
|
||||||
$this->PutLink($this->HREF,$e);
|
$this->PutLink($this->HREF,$e);
|
||||||
else
|
else
|
||||||
|
@ -36,19 +36,19 @@ function WriteHTML($html)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Tag
|
// Tag
|
||||||
if($e{0}=='/')
|
if($e[0]=='/')
|
||||||
$this->CloseTag(strtoupper(substr($e,1)));
|
$this->CloseTag(strtoupper(substr($e,1)));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Extract attributes
|
// Extract attributes
|
||||||
$a2=explode(' ',$e);
|
$a2 = explode(' ',$e);
|
||||||
$tag=strtoupper(array_shift($a2));
|
$tag = strtoupper(array_shift($a2));
|
||||||
$attr=array();
|
$attr = array();
|
||||||
foreach($a2 as $v)
|
foreach($a2 as $v)
|
||||||
{
|
{
|
||||||
if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
|
if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
|
||||||
$attr[strtoupper($a3[1])]=$a3[2];
|
$attr[strtoupper($a3[1])] = $a3[2];
|
||||||
}
|
}
|
||||||
$this->OpenTag($tag,$attr);
|
$this->OpenTag($tag,$attr);
|
||||||
}
|
}
|
||||||
|
@ -56,40 +56,42 @@ function WriteHTML($html)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function OpenTag($tag,$attr)
|
function OpenTag($tag, $attr)
|
||||||
{
|
{
|
||||||
//Opening tag
|
// Opening tag
|
||||||
if($tag=='B' or $tag=='I' or $tag=='U')
|
if($tag=='B' || $tag=='I' || $tag=='U')
|
||||||
$this->SetStyle($tag,true);
|
$this->SetStyle($tag,true);
|
||||||
if($tag=='A')
|
if($tag=='A')
|
||||||
$this->HREF=$attr['HREF'];
|
$this->HREF = $attr['HREF'];
|
||||||
if($tag=='BR')
|
if($tag=='BR')
|
||||||
$this->Ln(5);
|
$this->Ln(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
function CloseTag($tag)
|
function CloseTag($tag)
|
||||||
{
|
{
|
||||||
//Closing tag
|
// Closing tag
|
||||||
if($tag=='B' or $tag=='I' or $tag=='U')
|
if($tag=='B' || $tag=='I' || $tag=='U')
|
||||||
$this->SetStyle($tag,false);
|
$this->SetStyle($tag,false);
|
||||||
if($tag=='A')
|
if($tag=='A')
|
||||||
$this->HREF='';
|
$this->HREF = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function SetStyle($tag,$enable)
|
function SetStyle($tag, $enable)
|
||||||
{
|
{
|
||||||
//Modify style and select corresponding font
|
// Modify style and select corresponding font
|
||||||
$this->$tag+=($enable ? 1 : -1);
|
$this->$tag += ($enable ? 1 : -1);
|
||||||
$style='';
|
$style = '';
|
||||||
foreach(array('B','I','U') as $s)
|
foreach(array('B', 'I', 'U') as $s)
|
||||||
|
{
|
||||||
if($this->$s>0)
|
if($this->$s>0)
|
||||||
$style.=$s;
|
$style .= $s;
|
||||||
|
}
|
||||||
$this->SetFont('',$style);
|
$this->SetFont('',$style);
|
||||||
}
|
}
|
||||||
|
|
||||||
function PutLink($URL,$txt)
|
function PutLink($URL, $txt)
|
||||||
{
|
{
|
||||||
//Put a hyperlink
|
// Put a hyperlink
|
||||||
$this->SetTextColor(0,0,255);
|
$this->SetTextColor(0,0,255);
|
||||||
$this->SetStyle('U',true);
|
$this->SetStyle('U',true);
|
||||||
$this->Write(5,$txt,$URL);
|
$this->Write(5,$txt,$URL);
|
||||||
|
@ -98,20 +100,20 @@ function PutLink($URL,$txt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$html='You can now easily print text mixing different styles: <b>bold</b>, <i>italic</i>,
|
$html = 'You can now easily print text mixing different styles: <b>bold</b>, <i>italic</i>,
|
||||||
<u>underlined</u>, or <b><i><u>all at once</u></i></b>!<br><br>You can also insert links on
|
<u>underlined</u>, or <b><i><u>all at once</u></i></b>!<br><br>You can also insert links on
|
||||||
text, such as <a href="http://www.fpdf.org">www.fpdf.org</a>, or on an image: click on the logo.';
|
text, such as <a href="http://www.fpdf.org">www.fpdf.org</a>, or on an image: click on the logo.';
|
||||||
|
|
||||||
$pdf=new PDF();
|
$pdf = new PDF();
|
||||||
//First page
|
// First page
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$pdf->SetFont('Arial','',20);
|
$pdf->SetFont('Arial','',20);
|
||||||
$pdf->Write(5,'To find out what\'s new in this tutorial, click ');
|
$pdf->Write(5,"To find out what's new in this tutorial, click ");
|
||||||
$pdf->SetFont('','U');
|
$pdf->SetFont('','U');
|
||||||
$link=$pdf->AddLink();
|
$link = $pdf->AddLink();
|
||||||
$pdf->Write(5,'here',$link);
|
$pdf->Write(5,'here',$link);
|
||||||
$pdf->SetFont('');
|
$pdf->SetFont('');
|
||||||
//Second page
|
// Second page
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$pdf->SetLink($link);
|
$pdf->SetLink($link);
|
||||||
$pdf->Image('logo.png',10,12,30,0,'','http://www.fpdf.org');
|
$pdf->Image('logo.png',10,12,30,0,'','http://www.fpdf.org');
|
||||||
|
|
|
@ -15,90 +15,60 @@ tr.alt1 {background-color:#FFFFE0}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Adding new fonts and encoding support</h1>
|
<h1>Adding new fonts and encoding support</h1>
|
||||||
This tutorial explains how to use TrueType or Type1 fonts so that you are not limited to the standard
|
This tutorial explains how to use TrueType, OpenType and Type1 fonts so that you are not limited to
|
||||||
fonts any more. The other interest is that you can choose the font encoding, which allows you to
|
the standard fonts any more. The other benefit is that you can choose the font encoding, which allows
|
||||||
use other languages than the Western ones (the standard fonts having too few available characters).
|
you to use other languages than the Western ones (the standard fonts having too few available characters).
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
Remark: for OpenType, only the format based on TrueType is supported (not the one based on Type1).
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
There are two ways to use a new font: embedding it in the PDF or not. When a font is not
|
There are two ways to use a new font: embedding it in the PDF or not. When a font is not
|
||||||
embedded, it is searched in the system. The advantage is that the PDF file is lighter; on the other
|
embedded, it is searched in the system. The advantage is that the PDF file is lighter; on the other
|
||||||
hand, if it is not available, a substitution font is used. So it is preferable to ensure that the
|
hand, if it's not available, a substitution font is used. So it's preferable to ensure that the
|
||||||
needed font is installed on the client systems. If the file is to be viewed by a large audience,
|
needed font is installed on the client systems. If the file is to be viewed by a large audience,
|
||||||
it is recommended to embed.
|
it's highly recommended to embed.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Adding a new font requires three steps for TrueTypes:
|
Adding a new font requires two steps:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Generation of the metric file (.afm)</li>
|
<li>Generation of the font definition file</li>
|
||||||
<li>Generation of the font definition file (.php)</li>
|
|
||||||
<li>Declaration of the font in the script</li>
|
<li>Declaration of the font in the script</li>
|
||||||
</ul>
|
</ul>
|
||||||
For Type1, the first one is theoretically not necessary because the AFM file is usually shipped
|
For Type1, you need the corresponding AFM file. It's usually provided with the font.
|
||||||
with the font. In case you have only a metric file in PFM format, use the convertor available
|
|
||||||
<a href="http://www.fpdf.org/fr/dl.php?id=34">here</a>.
|
|
||||||
<h2>Generation of the metric file</h2>
|
|
||||||
The first step for a TrueType consists in generating the AFM file. A utility exists to do this
|
|
||||||
task: <a href="http://ttf2pt1.sourceforge.net" target="_blank">ttf2pt1</a>. The Windows binary
|
|
||||||
is available <a href="http://www.fpdf.org/fr/dl.php?id=22">here</a>. The command line to use is
|
|
||||||
the following:
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<kbd>ttf2pt1 -a font.ttf font</kbd>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
For example, for Comic Sans MS Regular:
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<kbd>ttf2pt1 -a c:\windows\fonts\comic.ttf comic</kbd>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
Two files are created; the one we are interested in is comic.afm.
|
|
||||||
<h2>Generation of the font definition file</h2>
|
<h2>Generation of the font definition file</h2>
|
||||||
The second step consists in generating a PHP file containing all the information needed by FPDF;
|
The first step consists in generating a PHP file containing all the information needed by FPDF;
|
||||||
in addition, the font file is compressed. To do this, a helper script is provided in the font/makefont/
|
in addition, the font file is compressed. To do this, a helper script is provided in the makefont
|
||||||
directory of the package: makefont.php. It contains the following function:
|
directory of the package: makefont.php. It contains the following function:
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<code>MakeFont(<b>string</b> fontfile, <b>string</b> afmfile [, <b>string</b> enc [, <b>array</b> patch [, <b>string</b> type]]])</code>
|
<code>MakeFont(<b>string</b> fontfile, [, <b>string</b> enc [, <b>boolean</b> embed]])</code>
|
||||||
<dl class="param" style="margin-bottom:2em">
|
<dl class="param" style="margin-bottom:2em">
|
||||||
<dt><code>fontfile</code></dt>
|
<dt><code>fontfile</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>Path to the .ttf or .pfb file.</p>
|
<p>Path to the .ttf, .otf or .pfb file.</p>
|
||||||
</dd>
|
|
||||||
<dt><code>afmfile</code></dt>
|
|
||||||
<dd>
|
|
||||||
<p>Path to the .afm file.</p>
|
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>enc</code></dt>
|
<dt><code>enc</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>Name of the encoding to use. Default value: <code>cp1252</code>.</p>
|
<p>Name of the encoding to use. Default value: <code>cp1252</code>.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>patch</code></dt>
|
<dt><code>embed</code></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>Optional modification of the encoding. Empty by default.</p>
|
<p>Whether to embed the font or not. Default value: <code>true</code>.</p>
|
||||||
</dd>
|
|
||||||
<dt><code>type</code></dt>
|
|
||||||
<dd>
|
|
||||||
<p>Type of the font (<code>TrueType</code> or <code>Type1</code>). Default value: <code>TrueType</code>.</p>
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
The first parameter is the name of the font file. The extension must be either .ttf or .pfb and
|
The first parameter is the name of the font file. The extension must be either .ttf, .otf or .pfb and
|
||||||
determines the font type. If you own a Type1 font in ASCII format (.pfa), you can convert it to
|
determines the font type. If your Type1 font is in ASCII format (.pfa), you can convert it to binary
|
||||||
binary format with <a href="http://www.lcdf.org/~eddietwo/type/#t1utils" target="_blank">t1utils</a>.
|
(.pfb) with the help of <a href="http://www.lcdf.org/~eddietwo/type/#t1utils" target="_blank">t1utils</a>.
|
||||||
<br>
|
|
||||||
If you don't want to embed the font, pass an empty string. In this case, type is given by the
|
|
||||||
<code>type</code> parameter.
|
|
||||||
<br>
|
|
||||||
Note: in the case of a font with the same name as a standard one, for instance arial.ttf, it is
|
|
||||||
recommended to embed. If you don't, some versions of Acrobat will use their own fonts.
|
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
The AFM file is the one previously generated.
|
For Type1 fonts, the corresponding .afm file must be present in the same directory.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
The encoding defines the association between a code (from 0 to 255) and a character. The first
|
The encoding defines the association between a code (from 0 to 255) and a character. The first 128 are
|
||||||
128 are fixed and correspond to ASCII; the following are variable. The encodings are stored in
|
always the same and correspond to ASCII; the following are variable. Encodings are stored in .map
|
||||||
.map files. Those available are:
|
files. The available ones are:
|
||||||
<ul>
|
<ul>
|
||||||
<li>cp1250 (Central Europe)</li>
|
<li>cp1250 (Central Europe)</li>
|
||||||
<li>cp1251 (Cyrillic)</li>
|
<li>cp1251 (Cyrillic)</li>
|
||||||
|
@ -123,107 +93,99 @@ The encoding defines the association between a code (from 0 to 255) and a charac
|
||||||
</ul>
|
</ul>
|
||||||
Of course, the font must contain the characters corresponding to the chosen encoding.
|
Of course, the font must contain the characters corresponding to the chosen encoding.
|
||||||
<br>
|
<br>
|
||||||
In the particular case of a symbolic font (that is to say which does not contain letters, such
|
|
||||||
as Symbol or ZapfDingbats), pass an empty string.
|
|
||||||
<br>
|
|
||||||
The encodings which begin with cp are those used by Windows; Linux systems usually use ISO.
|
|
||||||
<br>
|
<br>
|
||||||
Remark: the standard fonts use cp1252.
|
Remark: the standard fonts use cp1252.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
The fourth parameter gives the possibility to alter the encoding. Sometimes you may want to add
|
After you have called the function (create a new file for this and include makefont.php), a .php file
|
||||||
some characters. For instance, ISO-8859-1 does not contain the euro symbol. To add it at position
|
is created, with the same name as the font file. You may rename it if you wish. If the case of embedding,
|
||||||
164, pass <code>array(164=>'Euro')</code>.
|
the font file is compressed and gives a second file with .z as extension (except if the compression
|
||||||
<br>
|
function is not available, it requires Zlib). You may rename it too, but in this case you have to change
|
||||||
<br>
|
the variable <code>$file</code> in the .php file accordingly.
|
||||||
The last parameter is used to give the type of the font in case it is not embedded (that is to
|
|
||||||
say the first parameter is empty).
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
After you have called the function (create a new file for this and include makefont.php, or
|
|
||||||
simply add the call directly inside), a .php file is created, with the same name as the .afm one.
|
|
||||||
You may rename it if you wish. If the case of embedding, the font file is compressed and gives a
|
|
||||||
second file with .z as extension (except if the compression function is not available, it
|
|
||||||
requires zlib). You may rename it too, but in this case you have to alter the variable <code>$file</code>
|
|
||||||
in the .php file accordingly.
|
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Example:
|
Example:
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code>MakeFont<span class="kw">(</span><span class="str">'c:\\windows\\fonts\\comic.ttf'</span><span class="kw">,</span><span class="str">'comic.afm'</span><span class="kw">,</span><span class="str">'cp1252'</span><span class="kw">);
|
<pre><code><?php
|
||||||
</span></code></pre>
|
<span class="kw">require(</span><span class="str">'makefont/makefont.php'</span><span class="kw">);
|
||||||
|
|
||||||
|
</span>MakeFont<span class="kw">(</span><span class="str">'c:\\Windows\\Fonts\\comic.ttf'</span><span class="kw">,</span><span class="str">'cp1252'</span><span class="kw">);
|
||||||
|
</span>?></code></pre>
|
||||||
</div>
|
</div>
|
||||||
which gives the files comic.php and comic.z.
|
which gives the files comic.php and comic.z.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Then you have to copy the generated file(s) to the font directory. If the font file
|
Then copy the generated files to the font directory. If the font file could not be compressed, copy
|
||||||
could not be compressed, copy the .ttf or .pfb instead of the .z.
|
it directly instead of the .z version.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
Remark: for TTF fonts, you can generate the files online <a href="http://fpdf.fruit-lab.de" target="_blank">here</a>
|
Another way to call MakeFont() is through the command line:
|
||||||
instead of doing it manually.
|
<br>
|
||||||
|
<br>
|
||||||
|
<kbd>php makefont\makefont.php c:\Windows\Fonts\comic.ttf cp1252</kbd>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
Finally, for TrueType and OpenType fonts, you can also generate the files
|
||||||
|
<a href="http://www.fpdf.org/makefont/">online</a> instead of doing it manually.
|
||||||
|
|
||||||
<h2>Declaration of the font in the script</h2>
|
<h2>Declaration of the font in the script</h2>
|
||||||
The last step is the most simple. You just need to call the <a href='../doc/addfont.htm'>AddFont()</a> method. For instance:
|
The second step is simple. You just need to call the <a href='../doc/addfont.htm'>AddFont()</a> method:
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code>$pdf<span class="kw">-></span>AddFont<span class="kw">(</span><span class="str">'Comic'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'comic.php'</span><span class="kw">);
|
<pre><code>$pdf<span class="kw">-></span>AddFont<span class="kw">(</span><span class="str">'Comic'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'comic.php'</span><span class="kw">);
|
||||||
</span></code></pre>
|
</span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
or simply:
|
|
||||||
<div class="source">
|
|
||||||
<pre><code>$pdf<span class="kw">-></span>AddFont<span class="kw">(</span><span class="str">'Comic'</span><span class="kw">);
|
|
||||||
</span></code></pre>
|
|
||||||
</div>
|
|
||||||
And the font is now available (in regular and underlined styles), usable like the others. If we
|
And the font is now available (in regular and underlined styles), usable like the others. If we
|
||||||
had worked with Comic Sans MS Bold (comicbd.ttf), we would have put:
|
had worked with Comic Sans MS Bold (comicbd.ttf), we would have written:
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code>$pdf<span class="kw">-></span>AddFont<span class="kw">(</span><span class="str">'Comic'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span><span class="str">'comicbd.php'</span><span class="kw">);
|
<pre><code>$pdf<span class="kw">-></span>AddFont<span class="kw">(</span><span class="str">'Comic'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span><span class="str">'comicbd.php'</span><span class="kw">);
|
||||||
</span></code></pre>
|
</span></code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Example</h2>
|
<h2>Example</h2>
|
||||||
Let's now see a small complete example. The font used is Calligrapher, available at
|
Let's now see a complete example. We will use the font <a href="http://www.abstractfonts.com/font/52" target="_blank">Calligrapher</a>.
|
||||||
<a href="http://www.abstractfonts.com/fonts/" target="_blank">www.abstractfonts.com</a> (a site
|
The first step is the generation of the font files:
|
||||||
offering numerous free TrueType fonts). The first step is the generation of the AFM file:
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<kbd>ttf2pt1 -a calligra.ttf calligra</kbd>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
which gives calligra.afm (and calligra.t1a that we can delete). Then we generate the definition
|
|
||||||
file:
|
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code><?php
|
<pre><code><?php
|
||||||
<span class="kw">require(</span><span class="str">'font/makefont/makefont.php'</span><span class="kw">);
|
<span class="kw">require(</span><span class="str">'makefont/makefont.php'</span><span class="kw">);
|
||||||
|
|
||||||
</span>MakeFont<span class="kw">(</span><span class="str">'calligra.ttf'</span><span class="kw">,</span><span class="str">'calligra.afm'</span><span class="kw">);
|
</span>MakeFont<span class="kw">(</span><span class="str">'calligra.ttf'</span><span class="kw">,</span><span class="str">'cp1252'</span><span class="kw">);
|
||||||
</span>?></code></pre>
|
</span>?></code></pre>
|
||||||
</div>
|
</div>
|
||||||
The function call gives the following report:
|
The script gives the following report:
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<b>Warning:</b> character Euro is missing<br>
|
<b>Warning:</b> character Euro is missing<br>
|
||||||
<b>Warning:</b> character Zcaron is missing<br>
|
|
||||||
<b>Warning:</b> character zcaron is missing<br>
|
<b>Warning:</b> character zcaron is missing<br>
|
||||||
<b>Warning:</b> character eth is missing<br>
|
Font file compressed: calligra.z<br>
|
||||||
Font file compressed (calligra.z)<br>
|
Font definition file generated: calligra.php<br>
|
||||||
Font definition file generated (calligra.php)<br>
|
|
||||||
<br>
|
<br>
|
||||||
The euro character is not present in the font (it is too old). Three other characters are missing
|
The euro character is not present in the font (it's too old). Another character is missing too.
|
||||||
too, but we are not interested in them anyway.
|
|
||||||
<br>
|
<br>
|
||||||
We can now copy the two files to the font directory and write the script:
|
<br>
|
||||||
|
Alternatively we could have used the command line:
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<kbd>php makefont\makefont.php calligra.ttf cp1252</kbd>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
or used the online generator.
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
We can now copy the two generated files to the font directory and write the script:
|
||||||
<div class="source">
|
<div class="source">
|
||||||
<pre><code><?php
|
<pre><code><?php
|
||||||
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
||||||
|
|
||||||
</span>$pdf<span class="kw">=new </span>FPDF<span class="kw">();
|
</span>$pdf <span class="kw">= new </span>FPDF<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>AddFont<span class="kw">(</span><span class="str">'Calligrapher'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'calligra.php'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>AddFont<span class="kw">(</span><span class="str">'Calligrapher'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'calligra.php'</span><span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
||||||
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Calligrapher'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>35<span class="kw">);
|
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Calligrapher'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>35<span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>Cell<span class="kw">(</span>0<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Enjoy new fonts with FPDF!'</span><span class="kw">);
|
</span>$pdf<span class="kw">-></span>Write<span class="kw">(</span>10<span class="kw">,</span><span class="str">'Enjoy new fonts with FPDF!'</span><span class="kw">);
|
||||||
</span>$pdf<span class="kw">-></span>Output<span class="kw">();
|
</span>$pdf<span class="kw">-></span>Output<span class="kw">();
|
||||||
</span>?></code></pre>
|
</span>?></code></pre>
|
||||||
</div>
|
</div>
|
||||||
<p class='demo'><a href='tuto7.php' target='_blank' class='demo'>[Demo]</a></p>
|
<p class='demo'><a href='tuto7.php' target='_blank' class='demo'>[Demo]</a></p>
|
||||||
|
|
||||||
<h2>About the euro symbol</h2>
|
<h2>About the euro symbol</h2>
|
||||||
The euro character is not present in all encodings, and is not always placed at the same position:
|
The euro character is not present in all encodings, and is not always placed at the same position:
|
||||||
<table>
|
<table>
|
||||||
|
@ -237,66 +199,42 @@ The euro character is not present in all encodings, and is not always placed at
|
||||||
<tr class="alt0"><td>cp1257</td><td>128</td></tr>
|
<tr class="alt0"><td>cp1257</td><td>128</td></tr>
|
||||||
<tr class="alt1"><td>cp1258</td><td>128</td></tr>
|
<tr class="alt1"><td>cp1258</td><td>128</td></tr>
|
||||||
<tr class="alt0"><td>cp874</td><td>128</td></tr>
|
<tr class="alt0"><td>cp874</td><td>128</td></tr>
|
||||||
<tr class="alt1"><td>ISO-8859-1</td><td>absent</td></tr>
|
<tr class="alt1"><td>ISO-8859-1</td><td>N/A</td></tr>
|
||||||
<tr class="alt0"><td>ISO-8859-2</td><td>absent</td></tr>
|
<tr class="alt0"><td>ISO-8859-2</td><td>N/A</td></tr>
|
||||||
<tr class="alt1"><td>ISO-8859-4</td><td>absent</td></tr>
|
<tr class="alt1"><td>ISO-8859-4</td><td>N/A</td></tr>
|
||||||
<tr class="alt0"><td>ISO-8859-5</td><td>absent</td></tr>
|
<tr class="alt0"><td>ISO-8859-5</td><td>N/A</td></tr>
|
||||||
<tr class="alt1"><td>ISO-8859-7</td><td>absent</td></tr>
|
<tr class="alt1"><td>ISO-8859-7</td><td>N/A</td></tr>
|
||||||
<tr class="alt0"><td>ISO-8859-9</td><td>absent</td></tr>
|
<tr class="alt0"><td>ISO-8859-9</td><td>N/A</td></tr>
|
||||||
<tr class="alt1"><td>ISO-8859-11</td><td>absent</td></tr>
|
<tr class="alt1"><td>ISO-8859-11</td><td>N/A</td></tr>
|
||||||
<tr class="alt0"><td>ISO-8859-15</td><td>164</td></tr>
|
<tr class="alt0"><td>ISO-8859-15</td><td>164</td></tr>
|
||||||
<tr class="alt1"><td>ISO-8859-16</td><td>164</td></tr>
|
<tr class="alt1"><td>ISO-8859-16</td><td>164</td></tr>
|
||||||
<tr class="alt0"><td>KOI8-R</td><td>absent</td></tr>
|
<tr class="alt0"><td>KOI8-R</td><td>N/A</td></tr>
|
||||||
<tr class="alt1"><td>KOI8-U</td><td>absent</td></tr>
|
<tr class="alt1"><td>KOI8-U</td><td>N/A</td></tr>
|
||||||
</table>
|
</table>
|
||||||
ISO-8859-1 is widespread but does not include the euro sign. If you need it, the simplest thing
|
ISO-8859-1 is widespread but does not include the euro sign. If you need it, the simplest thing
|
||||||
to do is using cp1252 or ISO-8859-15 instead, which are nearly identical but contain the precious
|
to do is to use cp1252 or ISO-8859-15 instead, which are nearly identical but contain the precious
|
||||||
symbol.
|
symbol.
|
||||||
<br>
|
|
||||||
As for ISO-8859-2, it is possible to use ISO-8859-16 instead, but it contains many differences.
|
|
||||||
It is therefore simpler to patch the encoding to add the symbol to it, as explained above. The
|
|
||||||
same is true for the other encodings.
|
|
||||||
<h2>Font synthesis under Windows</h2>
|
|
||||||
When a TrueType font is not available in a given style, Windows is able to synthesize it from the
|
|
||||||
regular version. For instance, there is no Comic Sans MS Italic, but it can be built from Comic
|
|
||||||
Sans MS Regular. This feature can be used in a PDF file, but unfortunately requires that the
|
|
||||||
regular font be present in the system (you must not embed it). Here is how to do it:
|
|
||||||
<ul>
|
|
||||||
<li>Generate the definition file for the regular font without embedding (you may rename it to
|
|
||||||
reflect the desired style)</li>
|
|
||||||
<li>Open it and append to the variable <code>$name</code> a comma followed by the desired style
|
|
||||||
(<code>Italic</code>, <code>Bold</code> or <code>BoldItalic</code>)</li>
|
|
||||||
</ul>
|
|
||||||
For instance, for the file comici.php:
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<code>$name='ComicSansMS,Italic';</code>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
It can then be used normally:
|
|
||||||
<div class="source">
|
|
||||||
<pre><code>$pdf<span class="kw">-></span>AddFont<span class="kw">(</span><span class="str">'Comic'</span><span class="kw">,</span><span class="str">'I'</span><span class="kw">,</span><span class="str">'comici.php'</span><span class="kw">);
|
|
||||||
</span></code></pre>
|
|
||||||
</div>
|
|
||||||
<h2>Reducing the size of TrueType fonts</h2>
|
<h2>Reducing the size of TrueType fonts</h2>
|
||||||
Font files are often quite voluminous (more than 100, even 200KB); this is due to the fact that
|
Font files are often quite voluminous; this is due to the fact that they contain the characters
|
||||||
they contain the characters corresponding to many encodings. zlib compression reduces them but
|
corresponding to many encodings. Zlib compression reduces them but they remain fairly big. A
|
||||||
they remain fairly big. A technique exists to reduce them further. It consists in converting the
|
technique exists to reduce them further. It consists in converting the font to the Type1 format
|
||||||
font to the Type1 format with ttf2pt1 by specifying the encoding you are interested in; all other
|
with <a href="http://ttf2pt1.sourceforge.net" target="_blank">ttf2pt1</a> (the Windows binary is
|
||||||
characters will be discarded.
|
available <a href="http://www.fpdf.org/fr/dl.php?id=22">here</a>) while specifying the encoding
|
||||||
|
you are interested in; all other characters will be discarded.
|
||||||
<br>
|
<br>
|
||||||
For instance, the arial.ttf font shipped with Windows 98 is 267KB (it contains 1296 characters).
|
For example, the arial.ttf font that ships with Windows Vista weights 748 KB (it contains 3381 characters).
|
||||||
After compression it gives 147. Let's convert it to Type1 by keeping only cp1250 characters:
|
After compression it drops to 411. Let's convert it to Type1 by keeping only cp1250 characters:
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<kbd>ttf2pt1 -b -L cp1250.map c:\windows\fonts\arial.ttf arial</kbd>
|
<kbd>ttf2pt1 -b -L cp1250.map c:\Windows\Fonts\arial.ttf arial</kbd>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
The .map files are located in the font/makefont/ directory of the package. The command produces
|
The .map files are located in the makefont directory of the package. The command produces
|
||||||
arial.pfb and arial.afm. The arial.pfb file is only 35KB, and 30KB after compression.
|
arial.pfb and arial.afm. The arial.pfb file weights only 57 KB, and 53 after compression.
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
It is possible to go even further. If you are interested only by a subset of the encoding (you
|
It's possible to go even further. If you are interested only by a subset of the encoding (you
|
||||||
probably don't need all 217 characters), you can open the .map file and remove the lines you are
|
probably don't need all 217 characters), you can open the .map file and remove the lines you are
|
||||||
not interested in. This will reduce the file size accordingly.
|
not interested in. This will reduce the file size accordingly.
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?php
|
<?php
|
||||||
define('FPDF_FONTPATH','./');
|
define('FPDF_FONTPATH','.');
|
||||||
require('../fpdf.php');
|
require('../fpdf.php');
|
||||||
|
|
||||||
$pdf=new FPDF();
|
$pdf = new FPDF();
|
||||||
$pdf->AddFont('Calligrapher','','calligra.php');
|
$pdf->AddFont('Calligrapher','','calligra.php');
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$pdf->SetFont('Calligrapher','',35);
|
$pdf->SetFont('Calligrapher','',35);
|
||||||
|
|
Loading…
Reference in New Issue