├── .gitattribute
├── .gitignore
├── .travis.yml
├── LICENSE
├── Makefile
├── README.md
├── attachments.go
├── compare.go
├── contrib
├── barcode
│ ├── barcode.go
│ └── barcode_test.go
├── ghostscript
│ └── ghostscript.go
├── gofpdi
│ ├── gofpdi.go
│ └── gofpdi_test.go
├── httpimg
│ ├── httpimg.go
│ └── httpimg_test.go
└── tiff
│ ├── tiff.go
│ └── tiff_test.go
├── def.go
├── doc.go
├── doc
├── document.md
├── go.awk
└── html.txt
├── embedded.go
├── font.go
├── font
├── CalligrapherRegular.afm
├── CalligrapherRegular.pfb
├── DejaVuSansCondensed-Bold.ttf
├── DejaVuSansCondensed-BoldOblique.ttf
├── DejaVuSansCondensed-Oblique.ttf
├── DejaVuSansCondensed.json
├── DejaVuSansCondensed.ttf
├── calligra.json
├── calligra.ttf
├── calligra.z
├── courier.json
├── courierb.json
├── courierbi.json
├── courieri.json
├── cp1250.map
├── cp1251.map
├── cp1252.map
├── cp1253.map
├── cp1254.map
├── cp1255.map
├── cp1257.map
├── cp1258.map
├── cp874.map
├── helvetica.json
├── helvetica_1251.json
├── helvetica_1251.z
├── helvetica_1253.json
├── helvetica_1253.z
├── helveticab.json
├── helveticabi.json
├── helveticai.json
├── iso-8859-1.map
├── iso-8859-11.map
├── iso-8859-15.map
├── iso-8859-16.map
├── iso-8859-2.map
├── iso-8859-4.map
├── iso-8859-5.map
├── iso-8859-7.map
├── iso-8859-9.map
├── koi8-r.map
├── koi8-u.map
├── times.json
├── timesb.json
├── timesbi.json
├── timesi.json
└── zapfdingbats.json
├── fpdf.go
├── fpdf_test.go
├── fpdftrans.go
├── go.mod
├── go.sum
├── grid.go
├── htmlbasic.go
├── image
├── doc.png
├── doc.svg
├── fpdf.png
├── gofpdf.png
├── golang-gopher.png
├── golang-gopher.tiff
├── logo-gray.png
├── logo-progressive.jpg
├── logo-rgb.png
├── logo.gif
├── logo.jpg
├── logo.png
├── logo_gofpdf.jpg
├── mit.png
├── mit.svg
├── signature.svg
└── sweden.png
├── internal
├── example
│ ├── example.go
│ └── example_test.go
└── files
│ ├── bin
│ ├── Makefile
│ └── bin.go
│ └── files.go
├── label.go
├── layer.go
├── list
└── list.go
├── makefont
├── doc.go
├── makefont.go
└── makefont_test.go
├── pdf
├── .empty
└── reference
│ ├── Fpdf_AddFont.pdf
│ ├── Fpdf_AddLayer.pdf
│ ├── Fpdf_AddPage.pdf
│ ├── Fpdf_AddUTF8Font.pdf
│ ├── Fpdf_Beziergon.pdf
│ ├── Fpdf_Bookmark.pdf
│ ├── Fpdf_CellFormat_align.pdf
│ ├── Fpdf_CellFormat_codepage.pdf
│ ├── Fpdf_CellFormat_codepageescape.pdf
│ ├── Fpdf_CellFormat_tables.pdf
│ ├── Fpdf_Circle_figures.pdf
│ ├── Fpdf_ClipText.pdf
│ ├── Fpdf_ClippedTableCells.pdf
│ ├── Fpdf_CreateTemplate.pdf
│ ├── Fpdf_DrawPath_fill.pdf
│ ├── Fpdf_EmbeddedFont.pdf
│ ├── Fpdf_HTMLBasicNew.pdf
│ ├── Fpdf_LinearGradient_gradient.pdf
│ ├── Fpdf_MoveTo_path.pdf
│ ├── Fpdf_MultiCell.pdf
│ ├── Fpdf_PageSize.pdf
│ ├── Fpdf_Polygon.pdf
│ ├── Fpdf_SVGBasicWrite.pdf
│ ├── Fpdf_SetFontLoader.pdf
│ ├── Fpdf_SetLeftMargin_multicolumn.pdf
│ ├── Fpdf_SetLineJoinStyle_caps.pdf
│ ├── Fpdf_SetProtection.pdf
│ ├── Fpdf_SplitLines_tables.pdf
│ ├── Fpdf_Splitlines.pdf
│ ├── Fpdf_TransformBegin.pdf
│ ├── Fpdf_UnderlineThickness.pdf
│ ├── Fpdf_WrappedTableCells.pdf
│ ├── Fpdf_WriteAligned.pdf
│ └── basic.pdf
├── png.go
├── protect.go
├── splittext.go
├── spotcolor.go
├── subwrite.go
├── svgbasic.go
├── svgwrite.go
├── template.go
├── template_impl.go
├── text
├── 20k_c1.txt
├── 20k_c2.txt
├── countries.txt
├── utf-8test.txt
└── utf-8test2.txt
├── ttfparser.go
├── ttfparser_test.go
├── utf8fontfile.go
└── util.go
/.gitattribute:
--------------------------------------------------------------------------------
1 | *.pdf binary
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.0
2 | coverage
3 | font/CalligrapherRegular.json
4 | font/CalligrapherRegular.z
5 | font/Ubuntu-*
6 | internal/files/bin/bin
7 | look
8 | makefont/makefont
9 | open
10 | **/*.out
11 | pdf/*.pdf
12 | pdf.txt
13 | private
14 | *.sublime*
15 | *.swp
16 | **/*.test
17 | .idea/
18 | doc/body.html
19 | doc/body.md
20 | doc/index.html
21 | doc/index.html.ok
22 | coverage.html
23 |
24 | # macOS
25 | .DS_Store
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 |
3 | sudo: false
4 |
5 | go:
6 | - master
7 |
8 | os:
9 | - linux
10 |
11 | script: go test -v
12 |
13 | notifications:
14 | email: false
15 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 David Barnes
4 | Copyright (c) 2017 Kurt Jung and contributors acknowledged in the documentation
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | all : documentation
2 |
3 | documentation : doc/index.html doc.go README.md
4 |
5 | cov : all
6 | go test -v -coverprofile=coverage && go tool cover -html=coverage -o=coverage.html
7 |
8 | check :
9 | golint .
10 | go vet -all .
11 | gofmt -s -l .
12 | goreportcard-cli -v | grep -v cyclomatic
13 |
14 | README.md : doc/document.md
15 | pandoc --read=markdown --write=gfm < $< > $@
16 |
17 | doc/index.html : doc/document.md doc/html.txt
18 | pandoc --read=markdown --write=html --template=doc/html.txt \
19 | --metadata pagetitle="GoFPDF Document Generator" < $< > $@
20 |
21 | doc.go : doc/document.md doc/go.awk
22 | pandoc --read=markdown --write=plain $< | awk --assign=package_name=gofpdf --file=doc/go.awk > $@
23 | gofmt -s -w $@
24 |
25 | build :
26 | go build -v
27 |
28 | clean :
29 | rm -f coverage.html coverage doc/index.html doc.go README.md
30 |
--------------------------------------------------------------------------------
/attachments.go:
--------------------------------------------------------------------------------
1 | package gofpdf
2 |
3 | import (
4 | "crypto/md5"
5 | "encoding/hex"
6 | "fmt"
7 | "strings"
8 | )
9 |
10 | // Attachment defines a content to be included in the pdf, in one
11 | // of the following ways :
12 | // - associated with the document as a whole : see SetAttachments()
13 | // - accessible via a link localized on a page : see AddAttachmentAnnotation()
14 | type Attachment struct {
15 | Content []byte
16 |
17 | // Filename is the displayed name of the attachment
18 | Filename string
19 |
20 | // Description is only displayed when using AddAttachmentAnnotation(),
21 | // and might be modified by the pdf reader.
22 | Description string
23 |
24 | objectNumber int // filled when content is included
25 | }
26 |
27 | // return the hex encoded checksum of `data`
28 | func checksum(data []byte) string {
29 | tmp := md5.Sum(data)
30 | sl := make([]byte, len(tmp))
31 | for i, v := range tmp {
32 | sl[i] = v
33 | }
34 | return hex.EncodeToString(sl)
35 | }
36 |
37 | // Writes a compressed file like object as ``/EmbeddedFile``. Compressing is
38 | // done with deflate. Includes length, compressed length and MD5 checksum.
39 | func (f *Fpdf) writeCompressedFileObject(content []byte) {
40 | lenUncompressed := len(content)
41 | sum := checksum(content)
42 | compressed := sliceCompress(content)
43 | lenCompressed := len(compressed)
44 | f.newobj()
45 | f.outf("<< /Type /EmbeddedFile /Length %d /Filter /FlateDecode /Params << /CheckSum <%s> /Size %d >> >>\n",
46 | lenCompressed, sum, lenUncompressed)
47 | f.putstream(compressed)
48 | f.out("endobj")
49 | }
50 |
51 | // Embed includes the content of `a`, and update its internal reference.
52 | func (f *Fpdf) embed(a *Attachment) {
53 | if a.objectNumber != 0 { // already embedded (objectNumber start at 2)
54 | return
55 | }
56 | oldState := f.state
57 | f.state = 1 // we write file content in the main buffer
58 | f.writeCompressedFileObject(a.Content)
59 | streamID := f.n
60 | f.newobj()
61 | f.outf("<< /Type /Filespec /F () /UF %s /EF << /F %d 0 R >> /Desc %s\n>>",
62 | f.textstring(utf8toutf16(a.Filename)),
63 | streamID,
64 | f.textstring(utf8toutf16(a.Description)))
65 | f.out("endobj")
66 | a.objectNumber = f.n
67 | f.state = oldState
68 | }
69 |
70 | // SetAttachments writes attachments as embedded files (document attachment).
71 | // These attachments are global, see AddAttachmentAnnotation() for a link
72 | // anchored in a page. Note that only the last call of SetAttachments is
73 | // useful, previous calls are discarded. Be aware that not all PDF readers
74 | // support document attachments. See the SetAttachment example for a
75 | // demonstration of this method.
76 | func (f *Fpdf) SetAttachments(as []Attachment) {
77 | f.attachments = as
78 | }
79 |
80 | // embed current attachments. store object numbers
81 | // for later use by getEmbeddedFiles()
82 | func (f *Fpdf) putAttachments() {
83 | for i, a := range f.attachments {
84 | f.embed(&a)
85 | f.attachments[i] = a
86 | }
87 | }
88 |
89 | // return /EmbeddedFiles tree name catalog entry.
90 | func (f Fpdf) getEmbeddedFiles() string {
91 | names := make([]string, len(f.attachments))
92 | for i, as := range f.attachments {
93 | names[i] = fmt.Sprintf("(Attachement%d) %d 0 R ", i+1, as.objectNumber)
94 | }
95 | nameTree := fmt.Sprintf("<< /Names [\n %s \n] >>", strings.Join(names, "\n"))
96 | return nameTree
97 | }
98 |
99 | // ---------------------------------- Annotations ----------------------------------
100 |
101 | type annotationAttach struct {
102 | *Attachment
103 |
104 | x, y, w, h float64 // fpdf coordinates (y diff and scaling done)
105 | }
106 |
107 | // AddAttachmentAnnotation puts a link on the current page, on the rectangle
108 | // defined by `x`, `y`, `w`, `h`. This link points towards the content defined
109 | // in `a`, which is embedded in the document. Note than no drawing is done by
110 | // this method : a method like `Cell()` or `Rect()` should be called to
111 | // indicate to the reader that there is a link here. Requiring a pointer to an
112 | // Attachment avoids useless copies in the resulting pdf: attachment pointing
113 | // to the same data will have their content only be included once, and be
114 | // shared amongst all links. Be aware that not all PDF readers support
115 | // annotated attachments. See the AddAttachmentAnnotation example for a
116 | // demonstration of this method.
117 | func (f *Fpdf) AddAttachmentAnnotation(a *Attachment, x, y, w, h float64) {
118 | if a == nil {
119 | return
120 | }
121 | f.pageAttachments[f.page] = append(f.pageAttachments[f.page], annotationAttach{
122 | Attachment: a,
123 | x: x * f.k, y: f.hPt - y*f.k, w: w * f.k, h: h * f.k,
124 | })
125 | }
126 |
127 | // embed current annotations attachments. store object numbers
128 | // for later use by putAttachmentAnnotationLinks(), which is
129 | // called for each page.
130 | func (f *Fpdf) putAnnotationsAttachments() {
131 | // avoid duplication
132 | m := map[*Attachment]bool{}
133 | for _, l := range f.pageAttachments {
134 | for _, an := range l {
135 | if m[an.Attachment] { // already embedded
136 | continue
137 | }
138 | f.embed(an.Attachment)
139 | }
140 | }
141 | }
142 |
143 | func (f *Fpdf) putAttachmentAnnotationLinks(out *fmtBuffer, page int) {
144 | for _, an := range f.pageAttachments[page] {
145 | x1, y1, x2, y2 := an.x, an.y, an.x+an.w, an.y-an.h
146 | as := fmt.Sprintf("<< /Type /XObject /Subtype /Form /BBox [%.2f %.2f %.2f %.2f] /Length 0 >>",
147 | x1, y1, x2, y2)
148 | as += "\nstream\nendstream"
149 |
150 | out.printf("<< /Type /Annot /Subtype /FileAttachment /Rect [%.2f %.2f %.2f %.2f] /Border [0 0 0]\n",
151 | x1, y1, x2, y2)
152 | out.printf("/Contents %s ", f.textstring(utf8toutf16(an.Description)))
153 | out.printf("/T %s ", f.textstring(utf8toutf16(an.Filename)))
154 | out.printf("/AP << /N %s>>", as)
155 | out.printf("/FS %d 0 R >>\n", an.objectNumber)
156 | }
157 | }
158 |
--------------------------------------------------------------------------------
/compare.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 Kurt Jung (Gmail: kurt.w.jung)
3 | *
4 | * Permission to use, copy, modify, and distribute this software for any
5 | * purpose with or without fee is hereby granted, provided that the above
6 | * copyright notice and this permission notice appear in all copies.
7 | *
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 | */
16 |
17 | package gofpdf
18 |
19 | import (
20 | "bytes"
21 | "fmt"
22 | "io"
23 | "io/ioutil"
24 | "sort"
25 | )
26 |
27 | type sortType struct {
28 | length int
29 | less func(int, int) bool
30 | swap func(int, int)
31 | }
32 |
33 | func (s *sortType) Len() int {
34 | return s.length
35 | }
36 |
37 | func (s *sortType) Less(i, j int) bool {
38 | return s.less(i, j)
39 | }
40 |
41 | func (s *sortType) Swap(i, j int) {
42 | s.swap(i, j)
43 | }
44 |
45 | func gensort(Len int, Less func(int, int) bool, Swap func(int, int)) {
46 | sort.Sort(&sortType{length: Len, less: Less, swap: Swap})
47 | }
48 |
49 | func writeBytes(leadStr string, startPos int, sl []byte) {
50 | var pos, max int
51 | var b byte
52 | fmt.Printf("%s %07x", leadStr, startPos)
53 | max = len(sl)
54 | for pos < max {
55 | fmt.Printf(" ")
56 | for k := 0; k < 8; k++ {
57 | if pos < max {
58 | fmt.Printf(" %02x", sl[pos])
59 | } else {
60 | fmt.Printf(" ")
61 | }
62 | pos++
63 | }
64 | }
65 | fmt.Printf(" |")
66 | pos = 0
67 | for pos < max {
68 | b = sl[pos]
69 | if b < 32 || b >= 128 {
70 | b = '.'
71 | }
72 | fmt.Printf("%c", b)
73 | pos++
74 | }
75 | fmt.Printf("|\n")
76 | }
77 |
78 | func checkBytes(pos int, sl1, sl2 []byte, printDiff bool) (eq bool) {
79 | eq = bytes.Equal(sl1, sl2)
80 | if !eq && printDiff {
81 | writeBytes("<", pos, sl1)
82 | writeBytes(">", pos, sl2)
83 | }
84 | return
85 | }
86 |
87 | // CompareBytes compares the bytes referred to by sl1 with those referred to by
88 | // sl2. Nil is returned if the buffers are equal, otherwise an error.
89 | func CompareBytes(sl1, sl2 []byte, printDiff bool) (err error) {
90 | var posStart, posEnd, len1, len2, length int
91 | var diffs bool
92 |
93 | len1 = len(sl1)
94 | len2 = len(sl2)
95 | length = len1
96 | if length > len2 {
97 | length = len2
98 | }
99 | for posStart < length-1 {
100 | posEnd = posStart + 16
101 | if posEnd > length {
102 | posEnd = length
103 | }
104 | if !checkBytes(posStart, sl1[posStart:posEnd], sl2[posStart:posEnd], printDiff) {
105 | diffs = true
106 | }
107 | posStart = posEnd
108 | }
109 | if diffs {
110 | err = fmt.Errorf("documents are different")
111 | }
112 | return
113 | }
114 |
115 | // ComparePDFs reads and compares the full contents of the two specified
116 | // readers byte-for-byte. Nil is returned if the buffers are equal, otherwise
117 | // an error.
118 | func ComparePDFs(rdr1, rdr2 io.Reader, printDiff bool) (err error) {
119 | var b1, b2 *bytes.Buffer
120 | _, err = b1.ReadFrom(rdr1)
121 | if err == nil {
122 | _, err = b2.ReadFrom(rdr2)
123 | if err == nil {
124 | err = CompareBytes(b1.Bytes(), b2.Bytes(), printDiff)
125 | }
126 | }
127 | return
128 | }
129 |
130 | // ComparePDFFiles reads and compares the full contents of the two specified
131 | // files byte-for-byte. Nil is returned if the file contents are equal, or if
132 | // the second file is missing, otherwise an error.
133 | func ComparePDFFiles(file1Str, file2Str string, printDiff bool) (err error) {
134 | var sl1, sl2 []byte
135 | sl1, err = ioutil.ReadFile(file1Str)
136 | if err == nil {
137 | sl2, err = ioutil.ReadFile(file2Str)
138 | if err == nil {
139 | err = CompareBytes(sl1, sl2, printDiff)
140 | } else {
141 | // Second file is missing; treat this as success
142 | err = nil
143 | }
144 | }
145 | return
146 | }
147 |
--------------------------------------------------------------------------------
/contrib/ghostscript/ghostscript.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | // This command demonstrates the use of ghotscript to reduce the size
4 | // of generated PDFs. This is based on a comment made by farkerhaiku:
5 | // https://github.com/phpdave11/gofpdf/issues/57#issuecomment-185843315
6 |
7 | import (
8 | "fmt"
9 | "os"
10 | "os/exec"
11 |
12 | "github.com/phpdave11/gofpdf"
13 | )
14 |
15 | func report(fileStr string, err error) {
16 | if err == nil {
17 | var info os.FileInfo
18 | info, err = os.Stat(fileStr)
19 | if err == nil {
20 | fmt.Printf("%s: OK, size %d\n", fileStr, info.Size())
21 | } else {
22 | fmt.Printf("%s: bad stat\n", fileStr)
23 | }
24 | } else {
25 | fmt.Printf("%s: %s\n", fileStr, err)
26 | }
27 | }
28 |
29 | func newPdf() (pdf *gofpdf.Fpdf) {
30 | pdf = gofpdf.New("P", "mm", "A4", "../../font")
31 | pdf.SetCompression(false)
32 | pdf.AddFont("Calligrapher", "", "calligra.json")
33 | pdf.AddPage()
34 | pdf.SetFont("Calligrapher", "", 35)
35 | pdf.Cell(0, 10, "Enjoy new fonts with FPDF!")
36 | return
37 | }
38 |
39 | func full(name string) {
40 | report(name, newPdf().OutputFileAndClose(name))
41 | }
42 |
43 | func min(name string) {
44 | cmd := exec.Command("gs", "-sDEVICE=pdfwrite",
45 | "-dCompatibilityLevel=1.4",
46 | "-dPDFSETTINGS=/screen", "-dNOPAUSE", "-dQUIET",
47 | "-dBATCH", "-sOutputFile="+name, "-")
48 | inPipe, err := cmd.StdinPipe()
49 | if err == nil {
50 | errChan := make(chan error, 1)
51 | go func() {
52 | errChan <- cmd.Start()
53 | }()
54 | err = newPdf().Output(inPipe)
55 | if err == nil {
56 | report(name, <-errChan)
57 | } else {
58 | report(name, err)
59 | }
60 | } else {
61 | report(name, err)
62 | }
63 | }
64 |
65 | func main() {
66 | full("full.pdf")
67 | min("min.pdf")
68 | }
69 |
--------------------------------------------------------------------------------
/contrib/gofpdi/gofpdi_test.go:
--------------------------------------------------------------------------------
1 | package gofpdi
2 |
3 | import (
4 | "bytes"
5 | "github.com/phpdave11/gofpdf"
6 | "github.com/phpdave11/gofpdf/internal/example"
7 | "io"
8 | "sync"
9 | "testing"
10 | )
11 |
12 | func ExampleNewImporter() {
13 | // create new pdf
14 | pdf := gofpdf.New("P", "pt", "A4", "")
15 |
16 | // for testing purposes, get an arbitrary template pdf as stream
17 | rs, _ := getTemplatePdf()
18 |
19 | // create a new Importer instance
20 | imp := NewImporter()
21 |
22 | // import first page and determine page sizes
23 | tpl := imp.ImportPageFromStream(pdf, &rs, 1, "/MediaBox")
24 | pageSizes := imp.GetPageSizes()
25 | nrPages := len(imp.GetPageSizes())
26 |
27 | // add all pages from template pdf
28 | for i := 1; i <= nrPages; i++ {
29 | pdf.AddPage()
30 | if i > 1 {
31 | tpl = imp.ImportPageFromStream(pdf, &rs, i, "/MediaBox")
32 | }
33 | imp.UseImportedTemplate(pdf, tpl, 0, 0, pageSizes[i]["/MediaBox"]["w"], pageSizes[i]["/MediaBox"]["h"])
34 | }
35 |
36 | // output
37 | fileStr := example.Filename("contrib_gofpdi_Importer")
38 | err := pdf.OutputFileAndClose(fileStr)
39 | example.Summary(err, fileStr)
40 | // Output:
41 | // Successfully generated ../../pdf/contrib_gofpdi_Importer.pdf
42 | }
43 |
44 | func TestGofpdiConcurrent(t *testing.T) {
45 | wg := sync.WaitGroup{}
46 | for i := 0; i < 100; i++ {
47 | wg.Add(1)
48 | go func() {
49 | defer wg.Done()
50 | pdf := gofpdf.New("P", "mm", "A4", "")
51 | pdf.AddPage()
52 | rs, _ := getTemplatePdf()
53 | imp := NewImporter()
54 | tpl := imp.ImportPageFromStream(pdf, &rs, 1, "/MediaBox")
55 | imp.UseImportedTemplate(pdf, tpl, 0, 0, 210.0, 297.0)
56 | // write to bytes buffer
57 | buf := bytes.Buffer{}
58 | if err := pdf.Output(&buf); err != nil {
59 | t.Fail()
60 | }
61 | }()
62 | }
63 | wg.Wait()
64 | }
65 |
66 | func getTemplatePdf() (io.ReadSeeker, error) {
67 | tpdf := gofpdf.New("P", "pt", "A4", "")
68 | tpdf.AddPage()
69 | tpdf.SetFont("Arial", "", 12)
70 | tpdf.Text(20, 20, "Example Page 1")
71 | tpdf.AddPage()
72 | tpdf.Text(20, 20, "Example Page 2")
73 | tbuf := bytes.Buffer{}
74 | err := tpdf.Output(&tbuf)
75 | return bytes.NewReader(tbuf.Bytes()), err
76 | }
77 |
--------------------------------------------------------------------------------
/contrib/httpimg/httpimg.go:
--------------------------------------------------------------------------------
1 | package httpimg
2 |
3 | import (
4 | "io"
5 | "net/http"
6 |
7 | "github.com/phpdave11/gofpdf"
8 | )
9 |
10 | // httpimgPdf is a partial interface that only implements the functions we need
11 | // from the PDF generator to put the HTTP images on the PDF.
12 | type httpimgPdf interface {
13 | GetImageInfo(imageStr string) *gofpdf.ImageInfoType
14 | ImageTypeFromMime(mimeStr string) string
15 | RegisterImageReader(imgName, tp string, r io.Reader) *gofpdf.ImageInfoType
16 | SetError(err error)
17 | }
18 |
19 | // Register registers a HTTP image. Downloading the image from the provided URL
20 | // and adding it to the PDF but not adding it to the page. Use Image() with the
21 | // same URL to add the image to the page.
22 | func Register(f httpimgPdf, urlStr, tp string) (info *gofpdf.ImageInfoType) {
23 | info = f.GetImageInfo(urlStr)
24 |
25 | if info != nil {
26 | return
27 | }
28 |
29 | resp, err := http.Get(urlStr)
30 |
31 | if err != nil {
32 | f.SetError(err)
33 | return
34 | }
35 |
36 | defer resp.Body.Close()
37 |
38 | if tp == "" {
39 | tp = f.ImageTypeFromMime(resp.Header["Content-Type"][0])
40 | }
41 |
42 | return f.RegisterImageReader(urlStr, tp, resp.Body)
43 | }
44 |
--------------------------------------------------------------------------------
/contrib/httpimg/httpimg_test.go:
--------------------------------------------------------------------------------
1 | package httpimg_test
2 |
3 | import (
4 | "github.com/phpdave11/gofpdf"
5 | "github.com/phpdave11/gofpdf/contrib/httpimg"
6 | "github.com/phpdave11/gofpdf/internal/example"
7 | )
8 |
9 | func ExampleRegister() {
10 | pdf := gofpdf.New("L", "mm", "A4", "")
11 | pdf.SetFont("Helvetica", "", 12)
12 | pdf.SetFillColor(200, 200, 220)
13 | pdf.AddPage()
14 |
15 | url := "https://github.com/phpdave11/gofpdf/raw/master/image/logo_gofpdf.jpg?raw=true"
16 | httpimg.Register(pdf, url, "")
17 | pdf.Image(url, 15, 15, 267, 0, false, "", 0, "")
18 | fileStr := example.Filename("contrib_httpimg_Register")
19 | err := pdf.OutputFileAndClose(fileStr)
20 | example.Summary(err, fileStr)
21 | // Output:
22 | // Successfully generated ../../pdf/contrib_httpimg_Register.pdf
23 | }
24 |
--------------------------------------------------------------------------------
/contrib/tiff/tiff.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016 Kurt Jung (Gmail: kurt.w.jung)
3 | *
4 | * Permission to use, copy, modify, and distribute this software for any
5 | * purpose with or without fee is hereby granted, provided that the above
6 | * copyright notice and this permission notice appear in all copies.
7 | *
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 | */
16 |
17 | // Package tiff allows standard (LZW-compressed) TIFF images to be used in
18 | // documents generated with gofpdf.
19 | package tiff
20 |
21 | import (
22 | "bytes"
23 | "fmt"
24 | "image"
25 | "image/png"
26 | "io"
27 | "os"
28 |
29 | "github.com/phpdave11/gofpdf"
30 | "golang.org/x/image/tiff"
31 | )
32 |
33 | // RegisterReader registers a TIFF image, adding it to the PDF file but not
34 | // adding it to the page. imgName specifies the name that will be used in the
35 | // call to Image() that actually places the image in the document. options
36 | // specifies various image properties; in this case, the ImageType property
37 | // should be set to "tiff". The TIFF image is a reader from the reader
38 | // specified by r.
39 | func RegisterReader(fpdf *gofpdf.Fpdf, imgName string, options gofpdf.ImageOptions, r io.Reader) (info *gofpdf.ImageInfoType) {
40 | var err error
41 | var img image.Image
42 | var buf bytes.Buffer
43 | if fpdf.Ok() {
44 | if options.ImageType == "tiff" || options.ImageType == "tif" {
45 | img, err = tiff.Decode(r)
46 | if err == nil {
47 | err = png.Encode(&buf, img)
48 | if err == nil {
49 | options.ImageType = "png"
50 | info = fpdf.RegisterImageOptionsReader(imgName, options, &buf)
51 | }
52 | }
53 | } else {
54 | err = fmt.Errorf("expecting \"tiff\" or \"tif\" as image type, got \"%s\"", options.ImageType)
55 | }
56 | if err != nil {
57 | fpdf.SetError(err)
58 | }
59 | }
60 | return
61 | }
62 |
63 | // RegisterFile registers a TIFF image, adding it to the PDF file but not
64 | // adding it to the page. imgName specifies the name that will be used in the
65 | // call to Image() that actually places the image in the document. options
66 | // specifies various image properties; in this case, the ImageType property
67 | // should be set to "tiff". The TIFF image is read from the file specified by
68 | // tiffFileStr.
69 | func RegisterFile(fpdf *gofpdf.Fpdf, imgName string, options gofpdf.ImageOptions, tiffFileStr string) (info *gofpdf.ImageInfoType) {
70 | var f *os.File
71 | var err error
72 |
73 | if fpdf.Ok() {
74 | f, err = os.Open(tiffFileStr)
75 | if err == nil {
76 | info = RegisterReader(fpdf, imgName, options, f)
77 | f.Close()
78 | } else {
79 | fpdf.SetError(err)
80 | }
81 | }
82 | return
83 | }
84 |
--------------------------------------------------------------------------------
/contrib/tiff/tiff_test.go:
--------------------------------------------------------------------------------
1 | package tiff_test
2 |
3 | import (
4 | "github.com/phpdave11/gofpdf"
5 | "github.com/phpdave11/gofpdf/contrib/tiff"
6 | "github.com/phpdave11/gofpdf/internal/example"
7 | )
8 |
9 | // ExampleRegisterFile demonstrates the loading and display of a TIFF image.
10 | func ExampleRegisterFile() {
11 | pdf := gofpdf.New("L", "mm", "A4", "")
12 | pdf.SetFont("Helvetica", "", 12)
13 | pdf.SetFillColor(200, 200, 220)
14 | pdf.AddPageFormat("L", gofpdf.SizeType{Wd: 200, Ht: 200})
15 | opt := gofpdf.ImageOptions{ImageType: "tiff", ReadDpi: false}
16 | _ = tiff.RegisterFile(pdf, "sample", opt, "../../image/golang-gopher.tiff")
17 | pdf.Image("sample", 0, 0, 200, 200, false, "", 0, "")
18 | fileStr := example.Filename("Fpdf_Contrib_Tiff")
19 | err := pdf.OutputFileAndClose(fileStr)
20 | example.Summary(err, fileStr)
21 | // Output:
22 | // Successfully generated ../../pdf/Fpdf_Contrib_Tiff.pdf
23 | }
24 |
--------------------------------------------------------------------------------
/doc/go.awk:
--------------------------------------------------------------------------------
1 | BEGIN { show = 0 ; print "/*" }
2 |
3 | /^\-/ { trim = 1 ; print "" }
4 |
5 | /^Package/ { show = 1 }
6 |
7 | !NF { trim = 0 }
8 |
9 | trim { sub("^ +", "", $0) }
10 |
11 | show { print $0 }
12 |
13 | END { print "*/\npackage " package_name }
14 |
--------------------------------------------------------------------------------
/doc/html.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | GoFPDF Document Generator
9 |
62 |
63 |
64 |
65 | $body$
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/font/CalligrapherRegular.pfb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/CalligrapherRegular.pfb
--------------------------------------------------------------------------------
/font/DejaVuSansCondensed-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/DejaVuSansCondensed-Bold.ttf
--------------------------------------------------------------------------------
/font/DejaVuSansCondensed-BoldOblique.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/DejaVuSansCondensed-BoldOblique.ttf
--------------------------------------------------------------------------------
/font/DejaVuSansCondensed-Oblique.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/DejaVuSansCondensed-Oblique.ttf
--------------------------------------------------------------------------------
/font/DejaVuSansCondensed.json:
--------------------------------------------------------------------------------
1 | {"Tp":"TrueType","Name":"DejaVuSansCondensed","Desc":{"Ascent":760,"Descent":-240,"CapHeight":760,"Flags":32,"FontBBox":{"Xmin":-918,"Ymin":-463,"Xmax":1614,"Ymax":1232},"ItalicAngle":0,"StemV":70,"MissingWidth":540},"Up":-63,"Ut":44,"Cw":[540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,286,360,414,754,572,855,702,247,351,351,450,754,286,325,286,303,572,572,572,572,572,572,572,572,572,572,303,303,754,754,754,478,900,615,617,628,693,568,518,697,677,265,265,590,501,776,673,708,542,708,625,571,549,659,615,890,616,549,616,351,303,351,754,450,450,551,571,495,571,554,316,571,570,250,250,521,250,876,570,550,571,571,370,469,353,570,532,736,532,532,472,572,303,572,754,540,708,549,286,473,466,900,450,450,572,1208,984,360,940,639,708,677,563,286,286,466,466,531,450,900,540,900,812,360,809,543,586,588,286,548,532,265,572,549,303,450,568,900,628,550,754,325,900,265,450,754,265,250,473,572,572,286,554,936,494,550,250,571,469,250,615,617,617,549,703,568,969,577,673,673,639,677,776,677,708,677,542,628,549,548,774,616,699,617,962,984,749,794,617,628,971,625,551,555,530,473,622,554,811,479,584,584,543,575,679,588,550,588,571,495,524,532,769,532,612,532,823,848,636,710,530,494,757,541],"Enc":"cp1251","Diff":"128 /afii10051 /afii10052 131 /afii10100 136 /Euro 138 /afii10058 140 /afii10059 /afii10061 /afii10060 /afii10145 /afii10099 152 /.notdef 154 /afii10106 156 /afii10107 /afii10109 /afii10108 /afii10193 161 /afii10062 /afii10110 /afii10057 165 /afii10050 168 /afii10023 170 /afii10053 175 /afii10056 178 /afii10055 /afii10103 /afii10098 184 /afii10071 /afii61352 /afii10101 188 /afii10105 /afii10054 /afii10102 /afii10104 /afii10017 /afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024 /afii10025 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032 /afii10033 /afii10034 /afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040 /afii10041 /afii10042 /afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048 /afii10049 /afii10065 /afii10066 /afii10067 /afii10068 /afii10069 /afii10070 /afii10072 /afii10073 /afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080 /afii10081 /afii10082 /afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088 /afii10089 /afii10090 /afii10091 /afii10092 /afii10093 /afii10094 /afii10095 /afii10096 /afii10097","File":"","Size1":0,"Size2":0,"OriginalSize":0,"N":0,"DiffN":0}
--------------------------------------------------------------------------------
/font/DejaVuSansCondensed.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/DejaVuSansCondensed.ttf
--------------------------------------------------------------------------------
/font/calligra.json:
--------------------------------------------------------------------------------
1 | {"Tp":"TrueType","Name":"CalligrapherRegular","Desc":{"Ascent":899,"Descent":-234,"CapHeight":899,"Flags":32,"FontBBox":{"Xmin":-173,"Ymin":-234,"Xmax":1328,"Ymax":899},"ItalicAngle":0,"StemV":70,"MissingWidth":800},"Up":-200,"Ut":20,"Cw":[800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,800,282,324,405,584,632,980,776,259,299,299,377,600,259,432,254,597,529,298,451,359,525,423,464,417,457,479,275,282,600,600,600,501,800,743,636,598,712,608,562,680,756,308,314,676,552,1041,817,729,569,698,674,618,673,805,753,1238,716,754,599,315,463,315,600,547,278,581,564,440,571,450,347,628,611,283,283,560,252,976,595,508,549,540,395,441,307,614,556,915,559,597,452,315,222,315,600,800,800,800,0,0,0,780,0,0,278,0,0,0,1064,800,0,800,800,259,259,470,470,500,300,600,278,990,0,0,790,800,800,754,282,324,450,640,518,603,0,519,254,800,349,0,0,432,800,278,0,0,0,0,278,614,0,254,278,0,305,0,0,0,0,501,743,743,743,743,743,743,1060,598,608,608,608,608,308,308,308,308,0,817,729,729,729,729,729,0,729,805,805,805,805,0,0,688,581,581,581,581,581,581,792,440,450,450,450,450,283,283,283,283,0,595,508,508,508,508,508,0,508,614,614,614,614,0,0,597],"Enc":"cp1252","Diff":"","File":"calligra.z","Size1":0,"Size2":0,"OriginalSize":40120,"N":0,"DiffN":0}
--------------------------------------------------------------------------------
/font/calligra.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/calligra.ttf
--------------------------------------------------------------------------------
/font/calligra.z:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/calligra.z
--------------------------------------------------------------------------------
/font/courier.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Courier","Up":-100,"Ut":50,"I":256,"Cw":[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]}
--------------------------------------------------------------------------------
/font/courierb.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Courier-Bold","Up":-100,"Ut":50,"I":256,"Cw":[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]}
--------------------------------------------------------------------------------
/font/courierbi.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Courier-BoldOblique","Up":-100,"Ut":50,"I":256,"Cw":[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]}
--------------------------------------------------------------------------------
/font/courieri.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Courier-Oblique","Up":-100,"Ut":50,"I":256,"Cw":[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]}
--------------------------------------------------------------------------------
/font/cp1250.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+20AC Euro
130 | !82 U+201A quotesinglbase
131 | !84 U+201E quotedblbase
132 | !85 U+2026 ellipsis
133 | !86 U+2020 dagger
134 | !87 U+2021 daggerdbl
135 | !89 U+2030 perthousand
136 | !8A U+0160 Scaron
137 | !8B U+2039 guilsinglleft
138 | !8C U+015A Sacute
139 | !8D U+0164 Tcaron
140 | !8E U+017D Zcaron
141 | !8F U+0179 Zacute
142 | !91 U+2018 quoteleft
143 | !92 U+2019 quoteright
144 | !93 U+201C quotedblleft
145 | !94 U+201D quotedblright
146 | !95 U+2022 bullet
147 | !96 U+2013 endash
148 | !97 U+2014 emdash
149 | !99 U+2122 trademark
150 | !9A U+0161 scaron
151 | !9B U+203A guilsinglright
152 | !9C U+015B sacute
153 | !9D U+0165 tcaron
154 | !9E U+017E zcaron
155 | !9F U+017A zacute
156 | !A0 U+00A0 space
157 | !A1 U+02C7 caron
158 | !A2 U+02D8 breve
159 | !A3 U+0141 Lslash
160 | !A4 U+00A4 currency
161 | !A5 U+0104 Aogonek
162 | !A6 U+00A6 brokenbar
163 | !A7 U+00A7 section
164 | !A8 U+00A8 dieresis
165 | !A9 U+00A9 copyright
166 | !AA U+015E Scedilla
167 | !AB U+00AB guillemotleft
168 | !AC U+00AC logicalnot
169 | !AD U+00AD hyphen
170 | !AE U+00AE registered
171 | !AF U+017B Zdotaccent
172 | !B0 U+00B0 degree
173 | !B1 U+00B1 plusminus
174 | !B2 U+02DB ogonek
175 | !B3 U+0142 lslash
176 | !B4 U+00B4 acute
177 | !B5 U+00B5 mu
178 | !B6 U+00B6 paragraph
179 | !B7 U+00B7 periodcentered
180 | !B8 U+00B8 cedilla
181 | !B9 U+0105 aogonek
182 | !BA U+015F scedilla
183 | !BB U+00BB guillemotright
184 | !BC U+013D Lcaron
185 | !BD U+02DD hungarumlaut
186 | !BE U+013E lcaron
187 | !BF U+017C zdotaccent
188 | !C0 U+0154 Racute
189 | !C1 U+00C1 Aacute
190 | !C2 U+00C2 Acircumflex
191 | !C3 U+0102 Abreve
192 | !C4 U+00C4 Adieresis
193 | !C5 U+0139 Lacute
194 | !C6 U+0106 Cacute
195 | !C7 U+00C7 Ccedilla
196 | !C8 U+010C Ccaron
197 | !C9 U+00C9 Eacute
198 | !CA U+0118 Eogonek
199 | !CB U+00CB Edieresis
200 | !CC U+011A Ecaron
201 | !CD U+00CD Iacute
202 | !CE U+00CE Icircumflex
203 | !CF U+010E Dcaron
204 | !D0 U+0110 Dcroat
205 | !D1 U+0143 Nacute
206 | !D2 U+0147 Ncaron
207 | !D3 U+00D3 Oacute
208 | !D4 U+00D4 Ocircumflex
209 | !D5 U+0150 Ohungarumlaut
210 | !D6 U+00D6 Odieresis
211 | !D7 U+00D7 multiply
212 | !D8 U+0158 Rcaron
213 | !D9 U+016E Uring
214 | !DA U+00DA Uacute
215 | !DB U+0170 Uhungarumlaut
216 | !DC U+00DC Udieresis
217 | !DD U+00DD Yacute
218 | !DE U+0162 Tcommaaccent
219 | !DF U+00DF germandbls
220 | !E0 U+0155 racute
221 | !E1 U+00E1 aacute
222 | !E2 U+00E2 acircumflex
223 | !E3 U+0103 abreve
224 | !E4 U+00E4 adieresis
225 | !E5 U+013A lacute
226 | !E6 U+0107 cacute
227 | !E7 U+00E7 ccedilla
228 | !E8 U+010D ccaron
229 | !E9 U+00E9 eacute
230 | !EA U+0119 eogonek
231 | !EB U+00EB edieresis
232 | !EC U+011B ecaron
233 | !ED U+00ED iacute
234 | !EE U+00EE icircumflex
235 | !EF U+010F dcaron
236 | !F0 U+0111 dcroat
237 | !F1 U+0144 nacute
238 | !F2 U+0148 ncaron
239 | !F3 U+00F3 oacute
240 | !F4 U+00F4 ocircumflex
241 | !F5 U+0151 ohungarumlaut
242 | !F6 U+00F6 odieresis
243 | !F7 U+00F7 divide
244 | !F8 U+0159 rcaron
245 | !F9 U+016F uring
246 | !FA U+00FA uacute
247 | !FB U+0171 uhungarumlaut
248 | !FC U+00FC udieresis
249 | !FD U+00FD yacute
250 | !FE U+0163 tcommaaccent
251 | !FF U+02D9 dotaccent
252 |
--------------------------------------------------------------------------------
/font/cp1252.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+20AC Euro
130 | !82 U+201A quotesinglbase
131 | !83 U+0192 florin
132 | !84 U+201E quotedblbase
133 | !85 U+2026 ellipsis
134 | !86 U+2020 dagger
135 | !87 U+2021 daggerdbl
136 | !88 U+02C6 circumflex
137 | !89 U+2030 perthousand
138 | !8A U+0160 Scaron
139 | !8B U+2039 guilsinglleft
140 | !8C U+0152 OE
141 | !8E U+017D Zcaron
142 | !91 U+2018 quoteleft
143 | !92 U+2019 quoteright
144 | !93 U+201C quotedblleft
145 | !94 U+201D quotedblright
146 | !95 U+2022 bullet
147 | !96 U+2013 endash
148 | !97 U+2014 emdash
149 | !98 U+02DC tilde
150 | !99 U+2122 trademark
151 | !9A U+0161 scaron
152 | !9B U+203A guilsinglright
153 | !9C U+0153 oe
154 | !9E U+017E zcaron
155 | !9F U+0178 Ydieresis
156 | !A0 U+00A0 space
157 | !A1 U+00A1 exclamdown
158 | !A2 U+00A2 cent
159 | !A3 U+00A3 sterling
160 | !A4 U+00A4 currency
161 | !A5 U+00A5 yen
162 | !A6 U+00A6 brokenbar
163 | !A7 U+00A7 section
164 | !A8 U+00A8 dieresis
165 | !A9 U+00A9 copyright
166 | !AA U+00AA ordfeminine
167 | !AB U+00AB guillemotleft
168 | !AC U+00AC logicalnot
169 | !AD U+00AD hyphen
170 | !AE U+00AE registered
171 | !AF U+00AF macron
172 | !B0 U+00B0 degree
173 | !B1 U+00B1 plusminus
174 | !B2 U+00B2 twosuperior
175 | !B3 U+00B3 threesuperior
176 | !B4 U+00B4 acute
177 | !B5 U+00B5 mu
178 | !B6 U+00B6 paragraph
179 | !B7 U+00B7 periodcentered
180 | !B8 U+00B8 cedilla
181 | !B9 U+00B9 onesuperior
182 | !BA U+00BA ordmasculine
183 | !BB U+00BB guillemotright
184 | !BC U+00BC onequarter
185 | !BD U+00BD onehalf
186 | !BE U+00BE threequarters
187 | !BF U+00BF questiondown
188 | !C0 U+00C0 Agrave
189 | !C1 U+00C1 Aacute
190 | !C2 U+00C2 Acircumflex
191 | !C3 U+00C3 Atilde
192 | !C4 U+00C4 Adieresis
193 | !C5 U+00C5 Aring
194 | !C6 U+00C6 AE
195 | !C7 U+00C7 Ccedilla
196 | !C8 U+00C8 Egrave
197 | !C9 U+00C9 Eacute
198 | !CA U+00CA Ecircumflex
199 | !CB U+00CB Edieresis
200 | !CC U+00CC Igrave
201 | !CD U+00CD Iacute
202 | !CE U+00CE Icircumflex
203 | !CF U+00CF Idieresis
204 | !D0 U+00D0 Eth
205 | !D1 U+00D1 Ntilde
206 | !D2 U+00D2 Ograve
207 | !D3 U+00D3 Oacute
208 | !D4 U+00D4 Ocircumflex
209 | !D5 U+00D5 Otilde
210 | !D6 U+00D6 Odieresis
211 | !D7 U+00D7 multiply
212 | !D8 U+00D8 Oslash
213 | !D9 U+00D9 Ugrave
214 | !DA U+00DA Uacute
215 | !DB U+00DB Ucircumflex
216 | !DC U+00DC Udieresis
217 | !DD U+00DD Yacute
218 | !DE U+00DE Thorn
219 | !DF U+00DF germandbls
220 | !E0 U+00E0 agrave
221 | !E1 U+00E1 aacute
222 | !E2 U+00E2 acircumflex
223 | !E3 U+00E3 atilde
224 | !E4 U+00E4 adieresis
225 | !E5 U+00E5 aring
226 | !E6 U+00E6 ae
227 | !E7 U+00E7 ccedilla
228 | !E8 U+00E8 egrave
229 | !E9 U+00E9 eacute
230 | !EA U+00EA ecircumflex
231 | !EB U+00EB edieresis
232 | !EC U+00EC igrave
233 | !ED U+00ED iacute
234 | !EE U+00EE icircumflex
235 | !EF U+00EF idieresis
236 | !F0 U+00F0 eth
237 | !F1 U+00F1 ntilde
238 | !F2 U+00F2 ograve
239 | !F3 U+00F3 oacute
240 | !F4 U+00F4 ocircumflex
241 | !F5 U+00F5 otilde
242 | !F6 U+00F6 odieresis
243 | !F7 U+00F7 divide
244 | !F8 U+00F8 oslash
245 | !F9 U+00F9 ugrave
246 | !FA U+00FA uacute
247 | !FB U+00FB ucircumflex
248 | !FC U+00FC udieresis
249 | !FD U+00FD yacute
250 | !FE U+00FE thorn
251 | !FF U+00FF ydieresis
252 |
--------------------------------------------------------------------------------
/font/cp1253.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+20AC Euro
130 | !82 U+201A quotesinglbase
131 | !83 U+0192 florin
132 | !84 U+201E quotedblbase
133 | !85 U+2026 ellipsis
134 | !86 U+2020 dagger
135 | !87 U+2021 daggerdbl
136 | !89 U+2030 perthousand
137 | !8B U+2039 guilsinglleft
138 | !91 U+2018 quoteleft
139 | !92 U+2019 quoteright
140 | !93 U+201C quotedblleft
141 | !94 U+201D quotedblright
142 | !95 U+2022 bullet
143 | !96 U+2013 endash
144 | !97 U+2014 emdash
145 | !99 U+2122 trademark
146 | !9B U+203A guilsinglright
147 | !A0 U+00A0 space
148 | !A1 U+0385 dieresistonos
149 | !A2 U+0386 Alphatonos
150 | !A3 U+00A3 sterling
151 | !A4 U+00A4 currency
152 | !A5 U+00A5 yen
153 | !A6 U+00A6 brokenbar
154 | !A7 U+00A7 section
155 | !A8 U+00A8 dieresis
156 | !A9 U+00A9 copyright
157 | !AB U+00AB guillemotleft
158 | !AC U+00AC logicalnot
159 | !AD U+00AD hyphen
160 | !AE U+00AE registered
161 | !AF U+2015 afii00208
162 | !B0 U+00B0 degree
163 | !B1 U+00B1 plusminus
164 | !B2 U+00B2 twosuperior
165 | !B3 U+00B3 threesuperior
166 | !B4 U+0384 tonos
167 | !B5 U+00B5 mu
168 | !B6 U+00B6 paragraph
169 | !B7 U+00B7 periodcentered
170 | !B8 U+0388 Epsilontonos
171 | !B9 U+0389 Etatonos
172 | !BA U+038A Iotatonos
173 | !BB U+00BB guillemotright
174 | !BC U+038C Omicrontonos
175 | !BD U+00BD onehalf
176 | !BE U+038E Upsilontonos
177 | !BF U+038F Omegatonos
178 | !C0 U+0390 iotadieresistonos
179 | !C1 U+0391 Alpha
180 | !C2 U+0392 Beta
181 | !C3 U+0393 Gamma
182 | !C4 U+0394 Delta
183 | !C5 U+0395 Epsilon
184 | !C6 U+0396 Zeta
185 | !C7 U+0397 Eta
186 | !C8 U+0398 Theta
187 | !C9 U+0399 Iota
188 | !CA U+039A Kappa
189 | !CB U+039B Lambda
190 | !CC U+039C Mu
191 | !CD U+039D Nu
192 | !CE U+039E Xi
193 | !CF U+039F Omicron
194 | !D0 U+03A0 Pi
195 | !D1 U+03A1 Rho
196 | !D3 U+03A3 Sigma
197 | !D4 U+03A4 Tau
198 | !D5 U+03A5 Upsilon
199 | !D6 U+03A6 Phi
200 | !D7 U+03A7 Chi
201 | !D8 U+03A8 Psi
202 | !D9 U+03A9 Omega
203 | !DA U+03AA Iotadieresis
204 | !DB U+03AB Upsilondieresis
205 | !DC U+03AC alphatonos
206 | !DD U+03AD epsilontonos
207 | !DE U+03AE etatonos
208 | !DF U+03AF iotatonos
209 | !E0 U+03B0 upsilondieresistonos
210 | !E1 U+03B1 alpha
211 | !E2 U+03B2 beta
212 | !E3 U+03B3 gamma
213 | !E4 U+03B4 delta
214 | !E5 U+03B5 epsilon
215 | !E6 U+03B6 zeta
216 | !E7 U+03B7 eta
217 | !E8 U+03B8 theta
218 | !E9 U+03B9 iota
219 | !EA U+03BA kappa
220 | !EB U+03BB lambda
221 | !EC U+03BC mu
222 | !ED U+03BD nu
223 | !EE U+03BE xi
224 | !EF U+03BF omicron
225 | !F0 U+03C0 pi
226 | !F1 U+03C1 rho
227 | !F2 U+03C2 sigma1
228 | !F3 U+03C3 sigma
229 | !F4 U+03C4 tau
230 | !F5 U+03C5 upsilon
231 | !F6 U+03C6 phi
232 | !F7 U+03C7 chi
233 | !F8 U+03C8 psi
234 | !F9 U+03C9 omega
235 | !FA U+03CA iotadieresis
236 | !FB U+03CB upsilondieresis
237 | !FC U+03CC omicrontonos
238 | !FD U+03CD upsilontonos
239 | !FE U+03CE omegatonos
240 |
--------------------------------------------------------------------------------
/font/cp1254.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+20AC Euro
130 | !82 U+201A quotesinglbase
131 | !83 U+0192 florin
132 | !84 U+201E quotedblbase
133 | !85 U+2026 ellipsis
134 | !86 U+2020 dagger
135 | !87 U+2021 daggerdbl
136 | !88 U+02C6 circumflex
137 | !89 U+2030 perthousand
138 | !8A U+0160 Scaron
139 | !8B U+2039 guilsinglleft
140 | !8C U+0152 OE
141 | !91 U+2018 quoteleft
142 | !92 U+2019 quoteright
143 | !93 U+201C quotedblleft
144 | !94 U+201D quotedblright
145 | !95 U+2022 bullet
146 | !96 U+2013 endash
147 | !97 U+2014 emdash
148 | !98 U+02DC tilde
149 | !99 U+2122 trademark
150 | !9A U+0161 scaron
151 | !9B U+203A guilsinglright
152 | !9C U+0153 oe
153 | !9F U+0178 Ydieresis
154 | !A0 U+00A0 space
155 | !A1 U+00A1 exclamdown
156 | !A2 U+00A2 cent
157 | !A3 U+00A3 sterling
158 | !A4 U+00A4 currency
159 | !A5 U+00A5 yen
160 | !A6 U+00A6 brokenbar
161 | !A7 U+00A7 section
162 | !A8 U+00A8 dieresis
163 | !A9 U+00A9 copyright
164 | !AA U+00AA ordfeminine
165 | !AB U+00AB guillemotleft
166 | !AC U+00AC logicalnot
167 | !AD U+00AD hyphen
168 | !AE U+00AE registered
169 | !AF U+00AF macron
170 | !B0 U+00B0 degree
171 | !B1 U+00B1 plusminus
172 | !B2 U+00B2 twosuperior
173 | !B3 U+00B3 threesuperior
174 | !B4 U+00B4 acute
175 | !B5 U+00B5 mu
176 | !B6 U+00B6 paragraph
177 | !B7 U+00B7 periodcentered
178 | !B8 U+00B8 cedilla
179 | !B9 U+00B9 onesuperior
180 | !BA U+00BA ordmasculine
181 | !BB U+00BB guillemotright
182 | !BC U+00BC onequarter
183 | !BD U+00BD onehalf
184 | !BE U+00BE threequarters
185 | !BF U+00BF questiondown
186 | !C0 U+00C0 Agrave
187 | !C1 U+00C1 Aacute
188 | !C2 U+00C2 Acircumflex
189 | !C3 U+00C3 Atilde
190 | !C4 U+00C4 Adieresis
191 | !C5 U+00C5 Aring
192 | !C6 U+00C6 AE
193 | !C7 U+00C7 Ccedilla
194 | !C8 U+00C8 Egrave
195 | !C9 U+00C9 Eacute
196 | !CA U+00CA Ecircumflex
197 | !CB U+00CB Edieresis
198 | !CC U+00CC Igrave
199 | !CD U+00CD Iacute
200 | !CE U+00CE Icircumflex
201 | !CF U+00CF Idieresis
202 | !D0 U+011E Gbreve
203 | !D1 U+00D1 Ntilde
204 | !D2 U+00D2 Ograve
205 | !D3 U+00D3 Oacute
206 | !D4 U+00D4 Ocircumflex
207 | !D5 U+00D5 Otilde
208 | !D6 U+00D6 Odieresis
209 | !D7 U+00D7 multiply
210 | !D8 U+00D8 Oslash
211 | !D9 U+00D9 Ugrave
212 | !DA U+00DA Uacute
213 | !DB U+00DB Ucircumflex
214 | !DC U+00DC Udieresis
215 | !DD U+0130 Idotaccent
216 | !DE U+015E Scedilla
217 | !DF U+00DF germandbls
218 | !E0 U+00E0 agrave
219 | !E1 U+00E1 aacute
220 | !E2 U+00E2 acircumflex
221 | !E3 U+00E3 atilde
222 | !E4 U+00E4 adieresis
223 | !E5 U+00E5 aring
224 | !E6 U+00E6 ae
225 | !E7 U+00E7 ccedilla
226 | !E8 U+00E8 egrave
227 | !E9 U+00E9 eacute
228 | !EA U+00EA ecircumflex
229 | !EB U+00EB edieresis
230 | !EC U+00EC igrave
231 | !ED U+00ED iacute
232 | !EE U+00EE icircumflex
233 | !EF U+00EF idieresis
234 | !F0 U+011F gbreve
235 | !F1 U+00F1 ntilde
236 | !F2 U+00F2 ograve
237 | !F3 U+00F3 oacute
238 | !F4 U+00F4 ocircumflex
239 | !F5 U+00F5 otilde
240 | !F6 U+00F6 odieresis
241 | !F7 U+00F7 divide
242 | !F8 U+00F8 oslash
243 | !F9 U+00F9 ugrave
244 | !FA U+00FA uacute
245 | !FB U+00FB ucircumflex
246 | !FC U+00FC udieresis
247 | !FD U+0131 dotlessi
248 | !FE U+015F scedilla
249 | !FF U+00FF ydieresis
250 |
--------------------------------------------------------------------------------
/font/cp1255.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+20AC Euro
130 | !82 U+201A quotesinglbase
131 | !83 U+0192 florin
132 | !84 U+201E quotedblbase
133 | !85 U+2026 ellipsis
134 | !86 U+2020 dagger
135 | !87 U+2021 daggerdbl
136 | !88 U+02C6 circumflex
137 | !89 U+2030 perthousand
138 | !8B U+2039 guilsinglleft
139 | !91 U+2018 quoteleft
140 | !92 U+2019 quoteright
141 | !93 U+201C quotedblleft
142 | !94 U+201D quotedblright
143 | !95 U+2022 bullet
144 | !96 U+2013 endash
145 | !97 U+2014 emdash
146 | !98 U+02DC tilde
147 | !99 U+2122 trademark
148 | !9B U+203A guilsinglright
149 | !A0 U+00A0 space
150 | !A1 U+00A1 exclamdown
151 | !A2 U+00A2 cent
152 | !A3 U+00A3 sterling
153 | !A4 U+20AA afii57636
154 | !A5 U+00A5 yen
155 | !A6 U+00A6 brokenbar
156 | !A7 U+00A7 section
157 | !A8 U+00A8 dieresis
158 | !A9 U+00A9 copyright
159 | !AA U+00D7 multiply
160 | !AB U+00AB guillemotleft
161 | !AC U+00AC logicalnot
162 | !AD U+00AD sfthyphen
163 | !AE U+00AE registered
164 | !AF U+00AF macron
165 | !B0 U+00B0 degree
166 | !B1 U+00B1 plusminus
167 | !B2 U+00B2 twosuperior
168 | !B3 U+00B3 threesuperior
169 | !B4 U+00B4 acute
170 | !B5 U+00B5 mu
171 | !B6 U+00B6 paragraph
172 | !B7 U+00B7 middot
173 | !B8 U+00B8 cedilla
174 | !B9 U+00B9 onesuperior
175 | !BA U+00F7 divide
176 | !BB U+00BB guillemotright
177 | !BC U+00BC onequarter
178 | !BD U+00BD onehalf
179 | !BE U+00BE threequarters
180 | !BF U+00BF questiondown
181 | !C0 U+05B0 afii57799
182 | !C1 U+05B1 afii57801
183 | !C2 U+05B2 afii57800
184 | !C3 U+05B3 afii57802
185 | !C4 U+05B4 afii57793
186 | !C5 U+05B5 afii57794
187 | !C6 U+05B6 afii57795
188 | !C7 U+05B7 afii57798
189 | !C8 U+05B8 afii57797
190 | !C9 U+05B9 afii57806
191 | !CB U+05BB afii57796
192 | !CC U+05BC afii57807
193 | !CD U+05BD afii57839
194 | !CE U+05BE afii57645
195 | !CF U+05BF afii57841
196 | !D0 U+05C0 afii57842
197 | !D1 U+05C1 afii57804
198 | !D2 U+05C2 afii57803
199 | !D3 U+05C3 afii57658
200 | !D4 U+05F0 afii57716
201 | !D5 U+05F1 afii57717
202 | !D6 U+05F2 afii57718
203 | !D7 U+05F3 gereshhebrew
204 | !D8 U+05F4 gershayimhebrew
205 | !E0 U+05D0 afii57664
206 | !E1 U+05D1 afii57665
207 | !E2 U+05D2 afii57666
208 | !E3 U+05D3 afii57667
209 | !E4 U+05D4 afii57668
210 | !E5 U+05D5 afii57669
211 | !E6 U+05D6 afii57670
212 | !E7 U+05D7 afii57671
213 | !E8 U+05D8 afii57672
214 | !E9 U+05D9 afii57673
215 | !EA U+05DA afii57674
216 | !EB U+05DB afii57675
217 | !EC U+05DC afii57676
218 | !ED U+05DD afii57677
219 | !EE U+05DE afii57678
220 | !EF U+05DF afii57679
221 | !F0 U+05E0 afii57680
222 | !F1 U+05E1 afii57681
223 | !F2 U+05E2 afii57682
224 | !F3 U+05E3 afii57683
225 | !F4 U+05E4 afii57684
226 | !F5 U+05E5 afii57685
227 | !F6 U+05E6 afii57686
228 | !F7 U+05E7 afii57687
229 | !F8 U+05E8 afii57688
230 | !F9 U+05E9 afii57689
231 | !FA U+05EA afii57690
232 | !FD U+200E afii299
233 | !FE U+200F afii300
234 |
--------------------------------------------------------------------------------
/font/cp1257.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+20AC Euro
130 | !82 U+201A quotesinglbase
131 | !84 U+201E quotedblbase
132 | !85 U+2026 ellipsis
133 | !86 U+2020 dagger
134 | !87 U+2021 daggerdbl
135 | !89 U+2030 perthousand
136 | !8B U+2039 guilsinglleft
137 | !8D U+00A8 dieresis
138 | !8E U+02C7 caron
139 | !8F U+00B8 cedilla
140 | !91 U+2018 quoteleft
141 | !92 U+2019 quoteright
142 | !93 U+201C quotedblleft
143 | !94 U+201D quotedblright
144 | !95 U+2022 bullet
145 | !96 U+2013 endash
146 | !97 U+2014 emdash
147 | !99 U+2122 trademark
148 | !9B U+203A guilsinglright
149 | !9D U+00AF macron
150 | !9E U+02DB ogonek
151 | !A0 U+00A0 space
152 | !A2 U+00A2 cent
153 | !A3 U+00A3 sterling
154 | !A4 U+00A4 currency
155 | !A6 U+00A6 brokenbar
156 | !A7 U+00A7 section
157 | !A8 U+00D8 Oslash
158 | !A9 U+00A9 copyright
159 | !AA U+0156 Rcommaaccent
160 | !AB U+00AB guillemotleft
161 | !AC U+00AC logicalnot
162 | !AD U+00AD hyphen
163 | !AE U+00AE registered
164 | !AF U+00C6 AE
165 | !B0 U+00B0 degree
166 | !B1 U+00B1 plusminus
167 | !B2 U+00B2 twosuperior
168 | !B3 U+00B3 threesuperior
169 | !B4 U+00B4 acute
170 | !B5 U+00B5 mu
171 | !B6 U+00B6 paragraph
172 | !B7 U+00B7 periodcentered
173 | !B8 U+00F8 oslash
174 | !B9 U+00B9 onesuperior
175 | !BA U+0157 rcommaaccent
176 | !BB U+00BB guillemotright
177 | !BC U+00BC onequarter
178 | !BD U+00BD onehalf
179 | !BE U+00BE threequarters
180 | !BF U+00E6 ae
181 | !C0 U+0104 Aogonek
182 | !C1 U+012E Iogonek
183 | !C2 U+0100 Amacron
184 | !C3 U+0106 Cacute
185 | !C4 U+00C4 Adieresis
186 | !C5 U+00C5 Aring
187 | !C6 U+0118 Eogonek
188 | !C7 U+0112 Emacron
189 | !C8 U+010C Ccaron
190 | !C9 U+00C9 Eacute
191 | !CA U+0179 Zacute
192 | !CB U+0116 Edotaccent
193 | !CC U+0122 Gcommaaccent
194 | !CD U+0136 Kcommaaccent
195 | !CE U+012A Imacron
196 | !CF U+013B Lcommaaccent
197 | !D0 U+0160 Scaron
198 | !D1 U+0143 Nacute
199 | !D2 U+0145 Ncommaaccent
200 | !D3 U+00D3 Oacute
201 | !D4 U+014C Omacron
202 | !D5 U+00D5 Otilde
203 | !D6 U+00D6 Odieresis
204 | !D7 U+00D7 multiply
205 | !D8 U+0172 Uogonek
206 | !D9 U+0141 Lslash
207 | !DA U+015A Sacute
208 | !DB U+016A Umacron
209 | !DC U+00DC Udieresis
210 | !DD U+017B Zdotaccent
211 | !DE U+017D Zcaron
212 | !DF U+00DF germandbls
213 | !E0 U+0105 aogonek
214 | !E1 U+012F iogonek
215 | !E2 U+0101 amacron
216 | !E3 U+0107 cacute
217 | !E4 U+00E4 adieresis
218 | !E5 U+00E5 aring
219 | !E6 U+0119 eogonek
220 | !E7 U+0113 emacron
221 | !E8 U+010D ccaron
222 | !E9 U+00E9 eacute
223 | !EA U+017A zacute
224 | !EB U+0117 edotaccent
225 | !EC U+0123 gcommaaccent
226 | !ED U+0137 kcommaaccent
227 | !EE U+012B imacron
228 | !EF U+013C lcommaaccent
229 | !F0 U+0161 scaron
230 | !F1 U+0144 nacute
231 | !F2 U+0146 ncommaaccent
232 | !F3 U+00F3 oacute
233 | !F4 U+014D omacron
234 | !F5 U+00F5 otilde
235 | !F6 U+00F6 odieresis
236 | !F7 U+00F7 divide
237 | !F8 U+0173 uogonek
238 | !F9 U+0142 lslash
239 | !FA U+015B sacute
240 | !FB U+016B umacron
241 | !FC U+00FC udieresis
242 | !FD U+017C zdotaccent
243 | !FE U+017E zcaron
244 | !FF U+02D9 dotaccent
245 |
--------------------------------------------------------------------------------
/font/cp1258.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+20AC Euro
130 | !82 U+201A quotesinglbase
131 | !83 U+0192 florin
132 | !84 U+201E quotedblbase
133 | !85 U+2026 ellipsis
134 | !86 U+2020 dagger
135 | !87 U+2021 daggerdbl
136 | !88 U+02C6 circumflex
137 | !89 U+2030 perthousand
138 | !8B U+2039 guilsinglleft
139 | !8C U+0152 OE
140 | !91 U+2018 quoteleft
141 | !92 U+2019 quoteright
142 | !93 U+201C quotedblleft
143 | !94 U+201D quotedblright
144 | !95 U+2022 bullet
145 | !96 U+2013 endash
146 | !97 U+2014 emdash
147 | !98 U+02DC tilde
148 | !99 U+2122 trademark
149 | !9B U+203A guilsinglright
150 | !9C U+0153 oe
151 | !9F U+0178 Ydieresis
152 | !A0 U+00A0 space
153 | !A1 U+00A1 exclamdown
154 | !A2 U+00A2 cent
155 | !A3 U+00A3 sterling
156 | !A4 U+00A4 currency
157 | !A5 U+00A5 yen
158 | !A6 U+00A6 brokenbar
159 | !A7 U+00A7 section
160 | !A8 U+00A8 dieresis
161 | !A9 U+00A9 copyright
162 | !AA U+00AA ordfeminine
163 | !AB U+00AB guillemotleft
164 | !AC U+00AC logicalnot
165 | !AD U+00AD hyphen
166 | !AE U+00AE registered
167 | !AF U+00AF macron
168 | !B0 U+00B0 degree
169 | !B1 U+00B1 plusminus
170 | !B2 U+00B2 twosuperior
171 | !B3 U+00B3 threesuperior
172 | !B4 U+00B4 acute
173 | !B5 U+00B5 mu
174 | !B6 U+00B6 paragraph
175 | !B7 U+00B7 periodcentered
176 | !B8 U+00B8 cedilla
177 | !B9 U+00B9 onesuperior
178 | !BA U+00BA ordmasculine
179 | !BB U+00BB guillemotright
180 | !BC U+00BC onequarter
181 | !BD U+00BD onehalf
182 | !BE U+00BE threequarters
183 | !BF U+00BF questiondown
184 | !C0 U+00C0 Agrave
185 | !C1 U+00C1 Aacute
186 | !C2 U+00C2 Acircumflex
187 | !C3 U+0102 Abreve
188 | !C4 U+00C4 Adieresis
189 | !C5 U+00C5 Aring
190 | !C6 U+00C6 AE
191 | !C7 U+00C7 Ccedilla
192 | !C8 U+00C8 Egrave
193 | !C9 U+00C9 Eacute
194 | !CA U+00CA Ecircumflex
195 | !CB U+00CB Edieresis
196 | !CC U+0300 gravecomb
197 | !CD U+00CD Iacute
198 | !CE U+00CE Icircumflex
199 | !CF U+00CF Idieresis
200 | !D0 U+0110 Dcroat
201 | !D1 U+00D1 Ntilde
202 | !D2 U+0309 hookabovecomb
203 | !D3 U+00D3 Oacute
204 | !D4 U+00D4 Ocircumflex
205 | !D5 U+01A0 Ohorn
206 | !D6 U+00D6 Odieresis
207 | !D7 U+00D7 multiply
208 | !D8 U+00D8 Oslash
209 | !D9 U+00D9 Ugrave
210 | !DA U+00DA Uacute
211 | !DB U+00DB Ucircumflex
212 | !DC U+00DC Udieresis
213 | !DD U+01AF Uhorn
214 | !DE U+0303 tildecomb
215 | !DF U+00DF germandbls
216 | !E0 U+00E0 agrave
217 | !E1 U+00E1 aacute
218 | !E2 U+00E2 acircumflex
219 | !E3 U+0103 abreve
220 | !E4 U+00E4 adieresis
221 | !E5 U+00E5 aring
222 | !E6 U+00E6 ae
223 | !E7 U+00E7 ccedilla
224 | !E8 U+00E8 egrave
225 | !E9 U+00E9 eacute
226 | !EA U+00EA ecircumflex
227 | !EB U+00EB edieresis
228 | !EC U+0301 acutecomb
229 | !ED U+00ED iacute
230 | !EE U+00EE icircumflex
231 | !EF U+00EF idieresis
232 | !F0 U+0111 dcroat
233 | !F1 U+00F1 ntilde
234 | !F2 U+0323 dotbelowcomb
235 | !F3 U+00F3 oacute
236 | !F4 U+00F4 ocircumflex
237 | !F5 U+01A1 ohorn
238 | !F6 U+00F6 odieresis
239 | !F7 U+00F7 divide
240 | !F8 U+00F8 oslash
241 | !F9 U+00F9 ugrave
242 | !FA U+00FA uacute
243 | !FB U+00FB ucircumflex
244 | !FC U+00FC udieresis
245 | !FD U+01B0 uhorn
246 | !FE U+20AB dong
247 | !FF U+00FF ydieresis
248 |
--------------------------------------------------------------------------------
/font/cp874.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+20AC Euro
130 | !85 U+2026 ellipsis
131 | !91 U+2018 quoteleft
132 | !92 U+2019 quoteright
133 | !93 U+201C quotedblleft
134 | !94 U+201D quotedblright
135 | !95 U+2022 bullet
136 | !96 U+2013 endash
137 | !97 U+2014 emdash
138 | !A0 U+00A0 space
139 | !A1 U+0E01 kokaithai
140 | !A2 U+0E02 khokhaithai
141 | !A3 U+0E03 khokhuatthai
142 | !A4 U+0E04 khokhwaithai
143 | !A5 U+0E05 khokhonthai
144 | !A6 U+0E06 khorakhangthai
145 | !A7 U+0E07 ngonguthai
146 | !A8 U+0E08 chochanthai
147 | !A9 U+0E09 chochingthai
148 | !AA U+0E0A chochangthai
149 | !AB U+0E0B sosothai
150 | !AC U+0E0C chochoethai
151 | !AD U+0E0D yoyingthai
152 | !AE U+0E0E dochadathai
153 | !AF U+0E0F topatakthai
154 | !B0 U+0E10 thothanthai
155 | !B1 U+0E11 thonangmonthothai
156 | !B2 U+0E12 thophuthaothai
157 | !B3 U+0E13 nonenthai
158 | !B4 U+0E14 dodekthai
159 | !B5 U+0E15 totaothai
160 | !B6 U+0E16 thothungthai
161 | !B7 U+0E17 thothahanthai
162 | !B8 U+0E18 thothongthai
163 | !B9 U+0E19 nonuthai
164 | !BA U+0E1A bobaimaithai
165 | !BB U+0E1B poplathai
166 | !BC U+0E1C phophungthai
167 | !BD U+0E1D fofathai
168 | !BE U+0E1E phophanthai
169 | !BF U+0E1F fofanthai
170 | !C0 U+0E20 phosamphaothai
171 | !C1 U+0E21 momathai
172 | !C2 U+0E22 yoyakthai
173 | !C3 U+0E23 roruathai
174 | !C4 U+0E24 ruthai
175 | !C5 U+0E25 lolingthai
176 | !C6 U+0E26 luthai
177 | !C7 U+0E27 wowaenthai
178 | !C8 U+0E28 sosalathai
179 | !C9 U+0E29 sorusithai
180 | !CA U+0E2A sosuathai
181 | !CB U+0E2B hohipthai
182 | !CC U+0E2C lochulathai
183 | !CD U+0E2D oangthai
184 | !CE U+0E2E honokhukthai
185 | !CF U+0E2F paiyannoithai
186 | !D0 U+0E30 saraathai
187 | !D1 U+0E31 maihanakatthai
188 | !D2 U+0E32 saraaathai
189 | !D3 U+0E33 saraamthai
190 | !D4 U+0E34 saraithai
191 | !D5 U+0E35 saraiithai
192 | !D6 U+0E36 sarauethai
193 | !D7 U+0E37 saraueethai
194 | !D8 U+0E38 sarauthai
195 | !D9 U+0E39 sarauuthai
196 | !DA U+0E3A phinthuthai
197 | !DF U+0E3F bahtthai
198 | !E0 U+0E40 saraethai
199 | !E1 U+0E41 saraaethai
200 | !E2 U+0E42 saraothai
201 | !E3 U+0E43 saraaimaimuanthai
202 | !E4 U+0E44 saraaimaimalaithai
203 | !E5 U+0E45 lakkhangyaothai
204 | !E6 U+0E46 maiyamokthai
205 | !E7 U+0E47 maitaikhuthai
206 | !E8 U+0E48 maiekthai
207 | !E9 U+0E49 maithothai
208 | !EA U+0E4A maitrithai
209 | !EB U+0E4B maichattawathai
210 | !EC U+0E4C thanthakhatthai
211 | !ED U+0E4D nikhahitthai
212 | !EE U+0E4E yamakkanthai
213 | !EF U+0E4F fongmanthai
214 | !F0 U+0E50 zerothai
215 | !F1 U+0E51 onethai
216 | !F2 U+0E52 twothai
217 | !F3 U+0E53 threethai
218 | !F4 U+0E54 fourthai
219 | !F5 U+0E55 fivethai
220 | !F6 U+0E56 sixthai
221 | !F7 U+0E57 seventhai
222 | !F8 U+0E58 eightthai
223 | !F9 U+0E59 ninethai
224 | !FA U+0E5A angkhankhuthai
225 | !FB U+0E5B khomutthai
226 |
--------------------------------------------------------------------------------
/font/helvetica.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Helvetica","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,556,350,222,556,333,1000,556,556,333,1000,667,333,1000,350,611,350,350,222,222,333,333,350,556,1000,333,1000,500,333,944,350,500,667,278,333,556,556,556,556,260,556,333,737,370,556,584,333,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]}
--------------------------------------------------------------------------------
/font/helvetica_1251.json:
--------------------------------------------------------------------------------
1 | {"Tp":"TrueType","Name":"ArialMT","Desc":{"Ascent":728,"Descent":-210,"CapHeight":728,"Flags":32,"FontBBox":{"Xmin":-665,"Ymin":-325,"Xmax":2028,"Ymax":1037},"ItalicAngle":0,"StemV":70,"MissingWidth":750},"Up":-106,"Ut":73,"Cw":[750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,750,865,542,222,365,333,1000,556,556,556,1000,1057,333,1010,583,854,719,556,222,222,333,333,350,556,1000,750,1000,906,333,813,438,556,552,278,635,500,500,556,489,260,556,667,737,719,556,584,333,737,278,400,549,278,222,411,576,537,278,556,1073,510,556,222,667,500,278,667,656,667,542,677,667,923,604,719,719,583,656,833,722,778,719,667,722,611,635,760,667,740,667,917,938,792,885,656,719,1010,722,556,573,531,365,583,556,669,458,559,559,438,583,688,552,556,542,556,500,458,500,823,500,573,521,802,823,625,719,521,510,750,542],"Enc":"cp1251","Diff":"128 /afii10051 /afii10052 131 /afii10100 136 /Euro 138 /afii10058 140 /afii10059 /afii10061 /afii10060 /afii10145 /afii10099 152 /.notdef 154 /afii10106 156 /afii10107 /afii10109 /afii10108 /afii10193 161 /afii10062 /afii10110 /afii10057 165 /afii10050 168 /afii10023 170 /afii10053 175 /afii10056 178 /afii10055 /afii10103 /afii10098 184 /afii10071 /afii61352 /afii10101 188 /afii10105 /afii10054 /afii10102 /afii10104 /afii10017 /afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024 /afii10025 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031 /afii10032 /afii10033 /afii10034 /afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040 /afii10041 /afii10042 /afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048 /afii10049 /afii10065 /afii10066 /afii10067 /afii10068 /afii10069 /afii10070 /afii10072 /afii10073 /afii10074 /afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080 /afii10081 /afii10082 /afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088 /afii10089 /afii10090 /afii10091 /afii10092 /afii10093 /afii10094 /afii10095 /afii10096 /afii10097","File":"helvetica_1251.z","Size1":0,"Size2":0,"OriginalSize":275572,"I":0,"N":0,"DiffN":0}
--------------------------------------------------------------------------------
/font/helvetica_1251.z:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/helvetica_1251.z
--------------------------------------------------------------------------------
/font/helvetica_1253.json:
--------------------------------------------------------------------------------
1 | {"Tp":"TrueType","Name":"ArialMT","Desc":{"Ascent":728,"Descent":-210,"CapHeight":728,"Flags":32,"FontBBox":{"Xmin":-665,"Ymin":-325,"Xmax":2028,"Ymax":1037},"ItalicAngle":0,"StemV":70,"MissingWidth":750},"Up":-106,"Ut":73,"Cw":[750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,750,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,750,556,750,222,556,333,1000,556,556,750,1000,750,333,750,750,750,750,750,222,222,333,333,350,556,1000,750,1000,750,333,750,750,750,750,278,333,667,556,556,556,260,556,333,737,750,556,584,333,737,1000,400,549,333,333,333,576,537,278,784,838,384,556,774,834,855,752,222,667,667,551,668,667,611,722,778,278,667,668,833,722,650,778,722,667,750,618,611,667,798,667,835,748,278,667,578,446,556,222,547,578,575,500,557,446,441,556,556,222,500,500,576,500,448,556,690,569,482,617,395,547,648,525,713,781,222,547,556,547,781,750],"Enc":"cp1253","Diff":"136 /.notdef 138 /.notdef 140 /.notdef 142 /.notdef 152 /.notdef 154 /.notdef 156 /.notdef 158 /.notdef /.notdef 161 /dieresistonos /Alphatonos 170 /.notdef 175 /afii00208 180 /tonos 184 /Epsilontonos /Etatonos /Iotatonos 188 /Omicrontonos 190 /Upsilontonos /Omegatonos /iotadieresistonos /Alpha /Beta /Gamma /Delta /Epsilon /Zeta /Eta /Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron /Pi /Rho /.notdef /Sigma /Tau /Upsilon /Phi /Chi /Psi /Omega /Iotadieresis /Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos /upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta /eta /theta /iota /kappa /lambda /mu /nu /xi /omicron /pi /rho /sigma1 /sigma /tau /upsilon /phi /chi /psi /omega /iotadieresis /upsilondieresis /omicrontonos /upsilontonos /omegatonos /.notdef","File":"helvetica_1253.z","Size1":0,"Size2":0,"OriginalSize":275572,"I":0,"N":0,"DiffN":0}
--------------------------------------------------------------------------------
/font/helvetica_1253.z:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/font/helvetica_1253.z
--------------------------------------------------------------------------------
/font/helveticab.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Helvetica-Bold","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,556,350,278,556,500,1000,556,556,333,1000,667,333,1000,350,611,350,350,278,278,500,500,350,556,1000,333,1000,556,333,944,350,500,667,278,333,556,556,556,556,280,556,333,737,370,556,584,333,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]}
--------------------------------------------------------------------------------
/font/helveticabi.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Helvetica-BoldOblique","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,556,350,278,556,500,1000,556,556,333,1000,667,333,1000,350,611,350,350,278,278,500,500,350,556,1000,333,1000,556,333,944,350,500,667,278,333,556,556,556,556,280,556,333,737,370,556,584,333,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]}
--------------------------------------------------------------------------------
/font/helveticai.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Helvetica-Oblique","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,556,350,222,556,333,1000,556,556,333,1000,667,333,1000,350,611,350,350,222,222,333,333,350,556,1000,333,1000,500,333,944,350,500,667,278,333,556,556,556,556,260,556,333,737,370,556,584,333,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]}
--------------------------------------------------------------------------------
/font/iso-8859-1.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+00A1 exclamdown
163 | !A2 U+00A2 cent
164 | !A3 U+00A3 sterling
165 | !A4 U+00A4 currency
166 | !A5 U+00A5 yen
167 | !A6 U+00A6 brokenbar
168 | !A7 U+00A7 section
169 | !A8 U+00A8 dieresis
170 | !A9 U+00A9 copyright
171 | !AA U+00AA ordfeminine
172 | !AB U+00AB guillemotleft
173 | !AC U+00AC logicalnot
174 | !AD U+00AD hyphen
175 | !AE U+00AE registered
176 | !AF U+00AF macron
177 | !B0 U+00B0 degree
178 | !B1 U+00B1 plusminus
179 | !B2 U+00B2 twosuperior
180 | !B3 U+00B3 threesuperior
181 | !B4 U+00B4 acute
182 | !B5 U+00B5 mu
183 | !B6 U+00B6 paragraph
184 | !B7 U+00B7 periodcentered
185 | !B8 U+00B8 cedilla
186 | !B9 U+00B9 onesuperior
187 | !BA U+00BA ordmasculine
188 | !BB U+00BB guillemotright
189 | !BC U+00BC onequarter
190 | !BD U+00BD onehalf
191 | !BE U+00BE threequarters
192 | !BF U+00BF questiondown
193 | !C0 U+00C0 Agrave
194 | !C1 U+00C1 Aacute
195 | !C2 U+00C2 Acircumflex
196 | !C3 U+00C3 Atilde
197 | !C4 U+00C4 Adieresis
198 | !C5 U+00C5 Aring
199 | !C6 U+00C6 AE
200 | !C7 U+00C7 Ccedilla
201 | !C8 U+00C8 Egrave
202 | !C9 U+00C9 Eacute
203 | !CA U+00CA Ecircumflex
204 | !CB U+00CB Edieresis
205 | !CC U+00CC Igrave
206 | !CD U+00CD Iacute
207 | !CE U+00CE Icircumflex
208 | !CF U+00CF Idieresis
209 | !D0 U+00D0 Eth
210 | !D1 U+00D1 Ntilde
211 | !D2 U+00D2 Ograve
212 | !D3 U+00D3 Oacute
213 | !D4 U+00D4 Ocircumflex
214 | !D5 U+00D5 Otilde
215 | !D6 U+00D6 Odieresis
216 | !D7 U+00D7 multiply
217 | !D8 U+00D8 Oslash
218 | !D9 U+00D9 Ugrave
219 | !DA U+00DA Uacute
220 | !DB U+00DB Ucircumflex
221 | !DC U+00DC Udieresis
222 | !DD U+00DD Yacute
223 | !DE U+00DE Thorn
224 | !DF U+00DF germandbls
225 | !E0 U+00E0 agrave
226 | !E1 U+00E1 aacute
227 | !E2 U+00E2 acircumflex
228 | !E3 U+00E3 atilde
229 | !E4 U+00E4 adieresis
230 | !E5 U+00E5 aring
231 | !E6 U+00E6 ae
232 | !E7 U+00E7 ccedilla
233 | !E8 U+00E8 egrave
234 | !E9 U+00E9 eacute
235 | !EA U+00EA ecircumflex
236 | !EB U+00EB edieresis
237 | !EC U+00EC igrave
238 | !ED U+00ED iacute
239 | !EE U+00EE icircumflex
240 | !EF U+00EF idieresis
241 | !F0 U+00F0 eth
242 | !F1 U+00F1 ntilde
243 | !F2 U+00F2 ograve
244 | !F3 U+00F3 oacute
245 | !F4 U+00F4 ocircumflex
246 | !F5 U+00F5 otilde
247 | !F6 U+00F6 odieresis
248 | !F7 U+00F7 divide
249 | !F8 U+00F8 oslash
250 | !F9 U+00F9 ugrave
251 | !FA U+00FA uacute
252 | !FB U+00FB ucircumflex
253 | !FC U+00FC udieresis
254 | !FD U+00FD yacute
255 | !FE U+00FE thorn
256 | !FF U+00FF ydieresis
257 |
--------------------------------------------------------------------------------
/font/iso-8859-11.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+0E01 kokaithai
163 | !A2 U+0E02 khokhaithai
164 | !A3 U+0E03 khokhuatthai
165 | !A4 U+0E04 khokhwaithai
166 | !A5 U+0E05 khokhonthai
167 | !A6 U+0E06 khorakhangthai
168 | !A7 U+0E07 ngonguthai
169 | !A8 U+0E08 chochanthai
170 | !A9 U+0E09 chochingthai
171 | !AA U+0E0A chochangthai
172 | !AB U+0E0B sosothai
173 | !AC U+0E0C chochoethai
174 | !AD U+0E0D yoyingthai
175 | !AE U+0E0E dochadathai
176 | !AF U+0E0F topatakthai
177 | !B0 U+0E10 thothanthai
178 | !B1 U+0E11 thonangmonthothai
179 | !B2 U+0E12 thophuthaothai
180 | !B3 U+0E13 nonenthai
181 | !B4 U+0E14 dodekthai
182 | !B5 U+0E15 totaothai
183 | !B6 U+0E16 thothungthai
184 | !B7 U+0E17 thothahanthai
185 | !B8 U+0E18 thothongthai
186 | !B9 U+0E19 nonuthai
187 | !BA U+0E1A bobaimaithai
188 | !BB U+0E1B poplathai
189 | !BC U+0E1C phophungthai
190 | !BD U+0E1D fofathai
191 | !BE U+0E1E phophanthai
192 | !BF U+0E1F fofanthai
193 | !C0 U+0E20 phosamphaothai
194 | !C1 U+0E21 momathai
195 | !C2 U+0E22 yoyakthai
196 | !C3 U+0E23 roruathai
197 | !C4 U+0E24 ruthai
198 | !C5 U+0E25 lolingthai
199 | !C6 U+0E26 luthai
200 | !C7 U+0E27 wowaenthai
201 | !C8 U+0E28 sosalathai
202 | !C9 U+0E29 sorusithai
203 | !CA U+0E2A sosuathai
204 | !CB U+0E2B hohipthai
205 | !CC U+0E2C lochulathai
206 | !CD U+0E2D oangthai
207 | !CE U+0E2E honokhukthai
208 | !CF U+0E2F paiyannoithai
209 | !D0 U+0E30 saraathai
210 | !D1 U+0E31 maihanakatthai
211 | !D2 U+0E32 saraaathai
212 | !D3 U+0E33 saraamthai
213 | !D4 U+0E34 saraithai
214 | !D5 U+0E35 saraiithai
215 | !D6 U+0E36 sarauethai
216 | !D7 U+0E37 saraueethai
217 | !D8 U+0E38 sarauthai
218 | !D9 U+0E39 sarauuthai
219 | !DA U+0E3A phinthuthai
220 | !DF U+0E3F bahtthai
221 | !E0 U+0E40 saraethai
222 | !E1 U+0E41 saraaethai
223 | !E2 U+0E42 saraothai
224 | !E3 U+0E43 saraaimaimuanthai
225 | !E4 U+0E44 saraaimaimalaithai
226 | !E5 U+0E45 lakkhangyaothai
227 | !E6 U+0E46 maiyamokthai
228 | !E7 U+0E47 maitaikhuthai
229 | !E8 U+0E48 maiekthai
230 | !E9 U+0E49 maithothai
231 | !EA U+0E4A maitrithai
232 | !EB U+0E4B maichattawathai
233 | !EC U+0E4C thanthakhatthai
234 | !ED U+0E4D nikhahitthai
235 | !EE U+0E4E yamakkanthai
236 | !EF U+0E4F fongmanthai
237 | !F0 U+0E50 zerothai
238 | !F1 U+0E51 onethai
239 | !F2 U+0E52 twothai
240 | !F3 U+0E53 threethai
241 | !F4 U+0E54 fourthai
242 | !F5 U+0E55 fivethai
243 | !F6 U+0E56 sixthai
244 | !F7 U+0E57 seventhai
245 | !F8 U+0E58 eightthai
246 | !F9 U+0E59 ninethai
247 | !FA U+0E5A angkhankhuthai
248 | !FB U+0E5B khomutthai
249 |
--------------------------------------------------------------------------------
/font/iso-8859-15.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+00A1 exclamdown
163 | !A2 U+00A2 cent
164 | !A3 U+00A3 sterling
165 | !A4 U+20AC Euro
166 | !A5 U+00A5 yen
167 | !A6 U+0160 Scaron
168 | !A7 U+00A7 section
169 | !A8 U+0161 scaron
170 | !A9 U+00A9 copyright
171 | !AA U+00AA ordfeminine
172 | !AB U+00AB guillemotleft
173 | !AC U+00AC logicalnot
174 | !AD U+00AD hyphen
175 | !AE U+00AE registered
176 | !AF U+00AF macron
177 | !B0 U+00B0 degree
178 | !B1 U+00B1 plusminus
179 | !B2 U+00B2 twosuperior
180 | !B3 U+00B3 threesuperior
181 | !B4 U+017D Zcaron
182 | !B5 U+00B5 mu
183 | !B6 U+00B6 paragraph
184 | !B7 U+00B7 periodcentered
185 | !B8 U+017E zcaron
186 | !B9 U+00B9 onesuperior
187 | !BA U+00BA ordmasculine
188 | !BB U+00BB guillemotright
189 | !BC U+0152 OE
190 | !BD U+0153 oe
191 | !BE U+0178 Ydieresis
192 | !BF U+00BF questiondown
193 | !C0 U+00C0 Agrave
194 | !C1 U+00C1 Aacute
195 | !C2 U+00C2 Acircumflex
196 | !C3 U+00C3 Atilde
197 | !C4 U+00C4 Adieresis
198 | !C5 U+00C5 Aring
199 | !C6 U+00C6 AE
200 | !C7 U+00C7 Ccedilla
201 | !C8 U+00C8 Egrave
202 | !C9 U+00C9 Eacute
203 | !CA U+00CA Ecircumflex
204 | !CB U+00CB Edieresis
205 | !CC U+00CC Igrave
206 | !CD U+00CD Iacute
207 | !CE U+00CE Icircumflex
208 | !CF U+00CF Idieresis
209 | !D0 U+00D0 Eth
210 | !D1 U+00D1 Ntilde
211 | !D2 U+00D2 Ograve
212 | !D3 U+00D3 Oacute
213 | !D4 U+00D4 Ocircumflex
214 | !D5 U+00D5 Otilde
215 | !D6 U+00D6 Odieresis
216 | !D7 U+00D7 multiply
217 | !D8 U+00D8 Oslash
218 | !D9 U+00D9 Ugrave
219 | !DA U+00DA Uacute
220 | !DB U+00DB Ucircumflex
221 | !DC U+00DC Udieresis
222 | !DD U+00DD Yacute
223 | !DE U+00DE Thorn
224 | !DF U+00DF germandbls
225 | !E0 U+00E0 agrave
226 | !E1 U+00E1 aacute
227 | !E2 U+00E2 acircumflex
228 | !E3 U+00E3 atilde
229 | !E4 U+00E4 adieresis
230 | !E5 U+00E5 aring
231 | !E6 U+00E6 ae
232 | !E7 U+00E7 ccedilla
233 | !E8 U+00E8 egrave
234 | !E9 U+00E9 eacute
235 | !EA U+00EA ecircumflex
236 | !EB U+00EB edieresis
237 | !EC U+00EC igrave
238 | !ED U+00ED iacute
239 | !EE U+00EE icircumflex
240 | !EF U+00EF idieresis
241 | !F0 U+00F0 eth
242 | !F1 U+00F1 ntilde
243 | !F2 U+00F2 ograve
244 | !F3 U+00F3 oacute
245 | !F4 U+00F4 ocircumflex
246 | !F5 U+00F5 otilde
247 | !F6 U+00F6 odieresis
248 | !F7 U+00F7 divide
249 | !F8 U+00F8 oslash
250 | !F9 U+00F9 ugrave
251 | !FA U+00FA uacute
252 | !FB U+00FB ucircumflex
253 | !FC U+00FC udieresis
254 | !FD U+00FD yacute
255 | !FE U+00FE thorn
256 | !FF U+00FF ydieresis
257 |
--------------------------------------------------------------------------------
/font/iso-8859-16.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+0104 Aogonek
163 | !A2 U+0105 aogonek
164 | !A3 U+0141 Lslash
165 | !A4 U+20AC Euro
166 | !A5 U+201E quotedblbase
167 | !A6 U+0160 Scaron
168 | !A7 U+00A7 section
169 | !A8 U+0161 scaron
170 | !A9 U+00A9 copyright
171 | !AA U+0218 Scommaaccent
172 | !AB U+00AB guillemotleft
173 | !AC U+0179 Zacute
174 | !AD U+00AD hyphen
175 | !AE U+017A zacute
176 | !AF U+017B Zdotaccent
177 | !B0 U+00B0 degree
178 | !B1 U+00B1 plusminus
179 | !B2 U+010C Ccaron
180 | !B3 U+0142 lslash
181 | !B4 U+017D Zcaron
182 | !B5 U+201D quotedblright
183 | !B6 U+00B6 paragraph
184 | !B7 U+00B7 periodcentered
185 | !B8 U+017E zcaron
186 | !B9 U+010D ccaron
187 | !BA U+0219 scommaaccent
188 | !BB U+00BB guillemotright
189 | !BC U+0152 OE
190 | !BD U+0153 oe
191 | !BE U+0178 Ydieresis
192 | !BF U+017C zdotaccent
193 | !C0 U+00C0 Agrave
194 | !C1 U+00C1 Aacute
195 | !C2 U+00C2 Acircumflex
196 | !C3 U+0102 Abreve
197 | !C4 U+00C4 Adieresis
198 | !C5 U+0106 Cacute
199 | !C6 U+00C6 AE
200 | !C7 U+00C7 Ccedilla
201 | !C8 U+00C8 Egrave
202 | !C9 U+00C9 Eacute
203 | !CA U+00CA Ecircumflex
204 | !CB U+00CB Edieresis
205 | !CC U+00CC Igrave
206 | !CD U+00CD Iacute
207 | !CE U+00CE Icircumflex
208 | !CF U+00CF Idieresis
209 | !D0 U+0110 Dcroat
210 | !D1 U+0143 Nacute
211 | !D2 U+00D2 Ograve
212 | !D3 U+00D3 Oacute
213 | !D4 U+00D4 Ocircumflex
214 | !D5 U+0150 Ohungarumlaut
215 | !D6 U+00D6 Odieresis
216 | !D7 U+015A Sacute
217 | !D8 U+0170 Uhungarumlaut
218 | !D9 U+00D9 Ugrave
219 | !DA U+00DA Uacute
220 | !DB U+00DB Ucircumflex
221 | !DC U+00DC Udieresis
222 | !DD U+0118 Eogonek
223 | !DE U+021A Tcommaaccent
224 | !DF U+00DF germandbls
225 | !E0 U+00E0 agrave
226 | !E1 U+00E1 aacute
227 | !E2 U+00E2 acircumflex
228 | !E3 U+0103 abreve
229 | !E4 U+00E4 adieresis
230 | !E5 U+0107 cacute
231 | !E6 U+00E6 ae
232 | !E7 U+00E7 ccedilla
233 | !E8 U+00E8 egrave
234 | !E9 U+00E9 eacute
235 | !EA U+00EA ecircumflex
236 | !EB U+00EB edieresis
237 | !EC U+00EC igrave
238 | !ED U+00ED iacute
239 | !EE U+00EE icircumflex
240 | !EF U+00EF idieresis
241 | !F0 U+0111 dcroat
242 | !F1 U+0144 nacute
243 | !F2 U+00F2 ograve
244 | !F3 U+00F3 oacute
245 | !F4 U+00F4 ocircumflex
246 | !F5 U+0151 ohungarumlaut
247 | !F6 U+00F6 odieresis
248 | !F7 U+015B sacute
249 | !F8 U+0171 uhungarumlaut
250 | !F9 U+00F9 ugrave
251 | !FA U+00FA uacute
252 | !FB U+00FB ucircumflex
253 | !FC U+00FC udieresis
254 | !FD U+0119 eogonek
255 | !FE U+021B tcommaaccent
256 | !FF U+00FF ydieresis
257 |
--------------------------------------------------------------------------------
/font/iso-8859-2.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+0104 Aogonek
163 | !A2 U+02D8 breve
164 | !A3 U+0141 Lslash
165 | !A4 U+00A4 currency
166 | !A5 U+013D Lcaron
167 | !A6 U+015A Sacute
168 | !A7 U+00A7 section
169 | !A8 U+00A8 dieresis
170 | !A9 U+0160 Scaron
171 | !AA U+015E Scedilla
172 | !AB U+0164 Tcaron
173 | !AC U+0179 Zacute
174 | !AD U+00AD hyphen
175 | !AE U+017D Zcaron
176 | !AF U+017B Zdotaccent
177 | !B0 U+00B0 degree
178 | !B1 U+0105 aogonek
179 | !B2 U+02DB ogonek
180 | !B3 U+0142 lslash
181 | !B4 U+00B4 acute
182 | !B5 U+013E lcaron
183 | !B6 U+015B sacute
184 | !B7 U+02C7 caron
185 | !B8 U+00B8 cedilla
186 | !B9 U+0161 scaron
187 | !BA U+015F scedilla
188 | !BB U+0165 tcaron
189 | !BC U+017A zacute
190 | !BD U+02DD hungarumlaut
191 | !BE U+017E zcaron
192 | !BF U+017C zdotaccent
193 | !C0 U+0154 Racute
194 | !C1 U+00C1 Aacute
195 | !C2 U+00C2 Acircumflex
196 | !C3 U+0102 Abreve
197 | !C4 U+00C4 Adieresis
198 | !C5 U+0139 Lacute
199 | !C6 U+0106 Cacute
200 | !C7 U+00C7 Ccedilla
201 | !C8 U+010C Ccaron
202 | !C9 U+00C9 Eacute
203 | !CA U+0118 Eogonek
204 | !CB U+00CB Edieresis
205 | !CC U+011A Ecaron
206 | !CD U+00CD Iacute
207 | !CE U+00CE Icircumflex
208 | !CF U+010E Dcaron
209 | !D0 U+0110 Dcroat
210 | !D1 U+0143 Nacute
211 | !D2 U+0147 Ncaron
212 | !D3 U+00D3 Oacute
213 | !D4 U+00D4 Ocircumflex
214 | !D5 U+0150 Ohungarumlaut
215 | !D6 U+00D6 Odieresis
216 | !D7 U+00D7 multiply
217 | !D8 U+0158 Rcaron
218 | !D9 U+016E Uring
219 | !DA U+00DA Uacute
220 | !DB U+0170 Uhungarumlaut
221 | !DC U+00DC Udieresis
222 | !DD U+00DD Yacute
223 | !DE U+0162 Tcommaaccent
224 | !DF U+00DF germandbls
225 | !E0 U+0155 racute
226 | !E1 U+00E1 aacute
227 | !E2 U+00E2 acircumflex
228 | !E3 U+0103 abreve
229 | !E4 U+00E4 adieresis
230 | !E5 U+013A lacute
231 | !E6 U+0107 cacute
232 | !E7 U+00E7 ccedilla
233 | !E8 U+010D ccaron
234 | !E9 U+00E9 eacute
235 | !EA U+0119 eogonek
236 | !EB U+00EB edieresis
237 | !EC U+011B ecaron
238 | !ED U+00ED iacute
239 | !EE U+00EE icircumflex
240 | !EF U+010F dcaron
241 | !F0 U+0111 dcroat
242 | !F1 U+0144 nacute
243 | !F2 U+0148 ncaron
244 | !F3 U+00F3 oacute
245 | !F4 U+00F4 ocircumflex
246 | !F5 U+0151 ohungarumlaut
247 | !F6 U+00F6 odieresis
248 | !F7 U+00F7 divide
249 | !F8 U+0159 rcaron
250 | !F9 U+016F uring
251 | !FA U+00FA uacute
252 | !FB U+0171 uhungarumlaut
253 | !FC U+00FC udieresis
254 | !FD U+00FD yacute
255 | !FE U+0163 tcommaaccent
256 | !FF U+02D9 dotaccent
257 |
--------------------------------------------------------------------------------
/font/iso-8859-4.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+0104 Aogonek
163 | !A2 U+0138 kgreenlandic
164 | !A3 U+0156 Rcommaaccent
165 | !A4 U+00A4 currency
166 | !A5 U+0128 Itilde
167 | !A6 U+013B Lcommaaccent
168 | !A7 U+00A7 section
169 | !A8 U+00A8 dieresis
170 | !A9 U+0160 Scaron
171 | !AA U+0112 Emacron
172 | !AB U+0122 Gcommaaccent
173 | !AC U+0166 Tbar
174 | !AD U+00AD hyphen
175 | !AE U+017D Zcaron
176 | !AF U+00AF macron
177 | !B0 U+00B0 degree
178 | !B1 U+0105 aogonek
179 | !B2 U+02DB ogonek
180 | !B3 U+0157 rcommaaccent
181 | !B4 U+00B4 acute
182 | !B5 U+0129 itilde
183 | !B6 U+013C lcommaaccent
184 | !B7 U+02C7 caron
185 | !B8 U+00B8 cedilla
186 | !B9 U+0161 scaron
187 | !BA U+0113 emacron
188 | !BB U+0123 gcommaaccent
189 | !BC U+0167 tbar
190 | !BD U+014A Eng
191 | !BE U+017E zcaron
192 | !BF U+014B eng
193 | !C0 U+0100 Amacron
194 | !C1 U+00C1 Aacute
195 | !C2 U+00C2 Acircumflex
196 | !C3 U+00C3 Atilde
197 | !C4 U+00C4 Adieresis
198 | !C5 U+00C5 Aring
199 | !C6 U+00C6 AE
200 | !C7 U+012E Iogonek
201 | !C8 U+010C Ccaron
202 | !C9 U+00C9 Eacute
203 | !CA U+0118 Eogonek
204 | !CB U+00CB Edieresis
205 | !CC U+0116 Edotaccent
206 | !CD U+00CD Iacute
207 | !CE U+00CE Icircumflex
208 | !CF U+012A Imacron
209 | !D0 U+0110 Dcroat
210 | !D1 U+0145 Ncommaaccent
211 | !D2 U+014C Omacron
212 | !D3 U+0136 Kcommaaccent
213 | !D4 U+00D4 Ocircumflex
214 | !D5 U+00D5 Otilde
215 | !D6 U+00D6 Odieresis
216 | !D7 U+00D7 multiply
217 | !D8 U+00D8 Oslash
218 | !D9 U+0172 Uogonek
219 | !DA U+00DA Uacute
220 | !DB U+00DB Ucircumflex
221 | !DC U+00DC Udieresis
222 | !DD U+0168 Utilde
223 | !DE U+016A Umacron
224 | !DF U+00DF germandbls
225 | !E0 U+0101 amacron
226 | !E1 U+00E1 aacute
227 | !E2 U+00E2 acircumflex
228 | !E3 U+00E3 atilde
229 | !E4 U+00E4 adieresis
230 | !E5 U+00E5 aring
231 | !E6 U+00E6 ae
232 | !E7 U+012F iogonek
233 | !E8 U+010D ccaron
234 | !E9 U+00E9 eacute
235 | !EA U+0119 eogonek
236 | !EB U+00EB edieresis
237 | !EC U+0117 edotaccent
238 | !ED U+00ED iacute
239 | !EE U+00EE icircumflex
240 | !EF U+012B imacron
241 | !F0 U+0111 dcroat
242 | !F1 U+0146 ncommaaccent
243 | !F2 U+014D omacron
244 | !F3 U+0137 kcommaaccent
245 | !F4 U+00F4 ocircumflex
246 | !F5 U+00F5 otilde
247 | !F6 U+00F6 odieresis
248 | !F7 U+00F7 divide
249 | !F8 U+00F8 oslash
250 | !F9 U+0173 uogonek
251 | !FA U+00FA uacute
252 | !FB U+00FB ucircumflex
253 | !FC U+00FC udieresis
254 | !FD U+0169 utilde
255 | !FE U+016B umacron
256 | !FF U+02D9 dotaccent
257 |
--------------------------------------------------------------------------------
/font/iso-8859-5.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+0401 afii10023
163 | !A2 U+0402 afii10051
164 | !A3 U+0403 afii10052
165 | !A4 U+0404 afii10053
166 | !A5 U+0405 afii10054
167 | !A6 U+0406 afii10055
168 | !A7 U+0407 afii10056
169 | !A8 U+0408 afii10057
170 | !A9 U+0409 afii10058
171 | !AA U+040A afii10059
172 | !AB U+040B afii10060
173 | !AC U+040C afii10061
174 | !AD U+00AD hyphen
175 | !AE U+040E afii10062
176 | !AF U+040F afii10145
177 | !B0 U+0410 afii10017
178 | !B1 U+0411 afii10018
179 | !B2 U+0412 afii10019
180 | !B3 U+0413 afii10020
181 | !B4 U+0414 afii10021
182 | !B5 U+0415 afii10022
183 | !B6 U+0416 afii10024
184 | !B7 U+0417 afii10025
185 | !B8 U+0418 afii10026
186 | !B9 U+0419 afii10027
187 | !BA U+041A afii10028
188 | !BB U+041B afii10029
189 | !BC U+041C afii10030
190 | !BD U+041D afii10031
191 | !BE U+041E afii10032
192 | !BF U+041F afii10033
193 | !C0 U+0420 afii10034
194 | !C1 U+0421 afii10035
195 | !C2 U+0422 afii10036
196 | !C3 U+0423 afii10037
197 | !C4 U+0424 afii10038
198 | !C5 U+0425 afii10039
199 | !C6 U+0426 afii10040
200 | !C7 U+0427 afii10041
201 | !C8 U+0428 afii10042
202 | !C9 U+0429 afii10043
203 | !CA U+042A afii10044
204 | !CB U+042B afii10045
205 | !CC U+042C afii10046
206 | !CD U+042D afii10047
207 | !CE U+042E afii10048
208 | !CF U+042F afii10049
209 | !D0 U+0430 afii10065
210 | !D1 U+0431 afii10066
211 | !D2 U+0432 afii10067
212 | !D3 U+0433 afii10068
213 | !D4 U+0434 afii10069
214 | !D5 U+0435 afii10070
215 | !D6 U+0436 afii10072
216 | !D7 U+0437 afii10073
217 | !D8 U+0438 afii10074
218 | !D9 U+0439 afii10075
219 | !DA U+043A afii10076
220 | !DB U+043B afii10077
221 | !DC U+043C afii10078
222 | !DD U+043D afii10079
223 | !DE U+043E afii10080
224 | !DF U+043F afii10081
225 | !E0 U+0440 afii10082
226 | !E1 U+0441 afii10083
227 | !E2 U+0442 afii10084
228 | !E3 U+0443 afii10085
229 | !E4 U+0444 afii10086
230 | !E5 U+0445 afii10087
231 | !E6 U+0446 afii10088
232 | !E7 U+0447 afii10089
233 | !E8 U+0448 afii10090
234 | !E9 U+0449 afii10091
235 | !EA U+044A afii10092
236 | !EB U+044B afii10093
237 | !EC U+044C afii10094
238 | !ED U+044D afii10095
239 | !EE U+044E afii10096
240 | !EF U+044F afii10097
241 | !F0 U+2116 afii61352
242 | !F1 U+0451 afii10071
243 | !F2 U+0452 afii10099
244 | !F3 U+0453 afii10100
245 | !F4 U+0454 afii10101
246 | !F5 U+0455 afii10102
247 | !F6 U+0456 afii10103
248 | !F7 U+0457 afii10104
249 | !F8 U+0458 afii10105
250 | !F9 U+0459 afii10106
251 | !FA U+045A afii10107
252 | !FB U+045B afii10108
253 | !FC U+045C afii10109
254 | !FD U+00A7 section
255 | !FE U+045E afii10110
256 | !FF U+045F afii10193
257 |
--------------------------------------------------------------------------------
/font/iso-8859-7.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+2018 quoteleft
163 | !A2 U+2019 quoteright
164 | !A3 U+00A3 sterling
165 | !A6 U+00A6 brokenbar
166 | !A7 U+00A7 section
167 | !A8 U+00A8 dieresis
168 | !A9 U+00A9 copyright
169 | !AB U+00AB guillemotleft
170 | !AC U+00AC logicalnot
171 | !AD U+00AD hyphen
172 | !AF U+2015 afii00208
173 | !B0 U+00B0 degree
174 | !B1 U+00B1 plusminus
175 | !B2 U+00B2 twosuperior
176 | !B3 U+00B3 threesuperior
177 | !B4 U+0384 tonos
178 | !B5 U+0385 dieresistonos
179 | !B6 U+0386 Alphatonos
180 | !B7 U+00B7 periodcentered
181 | !B8 U+0388 Epsilontonos
182 | !B9 U+0389 Etatonos
183 | !BA U+038A Iotatonos
184 | !BB U+00BB guillemotright
185 | !BC U+038C Omicrontonos
186 | !BD U+00BD onehalf
187 | !BE U+038E Upsilontonos
188 | !BF U+038F Omegatonos
189 | !C0 U+0390 iotadieresistonos
190 | !C1 U+0391 Alpha
191 | !C2 U+0392 Beta
192 | !C3 U+0393 Gamma
193 | !C4 U+0394 Delta
194 | !C5 U+0395 Epsilon
195 | !C6 U+0396 Zeta
196 | !C7 U+0397 Eta
197 | !C8 U+0398 Theta
198 | !C9 U+0399 Iota
199 | !CA U+039A Kappa
200 | !CB U+039B Lambda
201 | !CC U+039C Mu
202 | !CD U+039D Nu
203 | !CE U+039E Xi
204 | !CF U+039F Omicron
205 | !D0 U+03A0 Pi
206 | !D1 U+03A1 Rho
207 | !D3 U+03A3 Sigma
208 | !D4 U+03A4 Tau
209 | !D5 U+03A5 Upsilon
210 | !D6 U+03A6 Phi
211 | !D7 U+03A7 Chi
212 | !D8 U+03A8 Psi
213 | !D9 U+03A9 Omega
214 | !DA U+03AA Iotadieresis
215 | !DB U+03AB Upsilondieresis
216 | !DC U+03AC alphatonos
217 | !DD U+03AD epsilontonos
218 | !DE U+03AE etatonos
219 | !DF U+03AF iotatonos
220 | !E0 U+03B0 upsilondieresistonos
221 | !E1 U+03B1 alpha
222 | !E2 U+03B2 beta
223 | !E3 U+03B3 gamma
224 | !E4 U+03B4 delta
225 | !E5 U+03B5 epsilon
226 | !E6 U+03B6 zeta
227 | !E7 U+03B7 eta
228 | !E8 U+03B8 theta
229 | !E9 U+03B9 iota
230 | !EA U+03BA kappa
231 | !EB U+03BB lambda
232 | !EC U+03BC mu
233 | !ED U+03BD nu
234 | !EE U+03BE xi
235 | !EF U+03BF omicron
236 | !F0 U+03C0 pi
237 | !F1 U+03C1 rho
238 | !F2 U+03C2 sigma1
239 | !F3 U+03C3 sigma
240 | !F4 U+03C4 tau
241 | !F5 U+03C5 upsilon
242 | !F6 U+03C6 phi
243 | !F7 U+03C7 chi
244 | !F8 U+03C8 psi
245 | !F9 U+03C9 omega
246 | !FA U+03CA iotadieresis
247 | !FB U+03CB upsilondieresis
248 | !FC U+03CC omicrontonos
249 | !FD U+03CD upsilontonos
250 | !FE U+03CE omegatonos
251 |
--------------------------------------------------------------------------------
/font/iso-8859-9.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+0080 .notdef
130 | !81 U+0081 .notdef
131 | !82 U+0082 .notdef
132 | !83 U+0083 .notdef
133 | !84 U+0084 .notdef
134 | !85 U+0085 .notdef
135 | !86 U+0086 .notdef
136 | !87 U+0087 .notdef
137 | !88 U+0088 .notdef
138 | !89 U+0089 .notdef
139 | !8A U+008A .notdef
140 | !8B U+008B .notdef
141 | !8C U+008C .notdef
142 | !8D U+008D .notdef
143 | !8E U+008E .notdef
144 | !8F U+008F .notdef
145 | !90 U+0090 .notdef
146 | !91 U+0091 .notdef
147 | !92 U+0092 .notdef
148 | !93 U+0093 .notdef
149 | !94 U+0094 .notdef
150 | !95 U+0095 .notdef
151 | !96 U+0096 .notdef
152 | !97 U+0097 .notdef
153 | !98 U+0098 .notdef
154 | !99 U+0099 .notdef
155 | !9A U+009A .notdef
156 | !9B U+009B .notdef
157 | !9C U+009C .notdef
158 | !9D U+009D .notdef
159 | !9E U+009E .notdef
160 | !9F U+009F .notdef
161 | !A0 U+00A0 space
162 | !A1 U+00A1 exclamdown
163 | !A2 U+00A2 cent
164 | !A3 U+00A3 sterling
165 | !A4 U+00A4 currency
166 | !A5 U+00A5 yen
167 | !A6 U+00A6 brokenbar
168 | !A7 U+00A7 section
169 | !A8 U+00A8 dieresis
170 | !A9 U+00A9 copyright
171 | !AA U+00AA ordfeminine
172 | !AB U+00AB guillemotleft
173 | !AC U+00AC logicalnot
174 | !AD U+00AD hyphen
175 | !AE U+00AE registered
176 | !AF U+00AF macron
177 | !B0 U+00B0 degree
178 | !B1 U+00B1 plusminus
179 | !B2 U+00B2 twosuperior
180 | !B3 U+00B3 threesuperior
181 | !B4 U+00B4 acute
182 | !B5 U+00B5 mu
183 | !B6 U+00B6 paragraph
184 | !B7 U+00B7 periodcentered
185 | !B8 U+00B8 cedilla
186 | !B9 U+00B9 onesuperior
187 | !BA U+00BA ordmasculine
188 | !BB U+00BB guillemotright
189 | !BC U+00BC onequarter
190 | !BD U+00BD onehalf
191 | !BE U+00BE threequarters
192 | !BF U+00BF questiondown
193 | !C0 U+00C0 Agrave
194 | !C1 U+00C1 Aacute
195 | !C2 U+00C2 Acircumflex
196 | !C3 U+00C3 Atilde
197 | !C4 U+00C4 Adieresis
198 | !C5 U+00C5 Aring
199 | !C6 U+00C6 AE
200 | !C7 U+00C7 Ccedilla
201 | !C8 U+00C8 Egrave
202 | !C9 U+00C9 Eacute
203 | !CA U+00CA Ecircumflex
204 | !CB U+00CB Edieresis
205 | !CC U+00CC Igrave
206 | !CD U+00CD Iacute
207 | !CE U+00CE Icircumflex
208 | !CF U+00CF Idieresis
209 | !D0 U+011E Gbreve
210 | !D1 U+00D1 Ntilde
211 | !D2 U+00D2 Ograve
212 | !D3 U+00D3 Oacute
213 | !D4 U+00D4 Ocircumflex
214 | !D5 U+00D5 Otilde
215 | !D6 U+00D6 Odieresis
216 | !D7 U+00D7 multiply
217 | !D8 U+00D8 Oslash
218 | !D9 U+00D9 Ugrave
219 | !DA U+00DA Uacute
220 | !DB U+00DB Ucircumflex
221 | !DC U+00DC Udieresis
222 | !DD U+0130 Idotaccent
223 | !DE U+015E Scedilla
224 | !DF U+00DF germandbls
225 | !E0 U+00E0 agrave
226 | !E1 U+00E1 aacute
227 | !E2 U+00E2 acircumflex
228 | !E3 U+00E3 atilde
229 | !E4 U+00E4 adieresis
230 | !E5 U+00E5 aring
231 | !E6 U+00E6 ae
232 | !E7 U+00E7 ccedilla
233 | !E8 U+00E8 egrave
234 | !E9 U+00E9 eacute
235 | !EA U+00EA ecircumflex
236 | !EB U+00EB edieresis
237 | !EC U+00EC igrave
238 | !ED U+00ED iacute
239 | !EE U+00EE icircumflex
240 | !EF U+00EF idieresis
241 | !F0 U+011F gbreve
242 | !F1 U+00F1 ntilde
243 | !F2 U+00F2 ograve
244 | !F3 U+00F3 oacute
245 | !F4 U+00F4 ocircumflex
246 | !F5 U+00F5 otilde
247 | !F6 U+00F6 odieresis
248 | !F7 U+00F7 divide
249 | !F8 U+00F8 oslash
250 | !F9 U+00F9 ugrave
251 | !FA U+00FA uacute
252 | !FB U+00FB ucircumflex
253 | !FC U+00FC udieresis
254 | !FD U+0131 dotlessi
255 | !FE U+015F scedilla
256 | !FF U+00FF ydieresis
257 |
--------------------------------------------------------------------------------
/font/koi8-r.map:
--------------------------------------------------------------------------------
1 | !00 U+0000 .notdef
2 | !01 U+0001 .notdef
3 | !02 U+0002 .notdef
4 | !03 U+0003 .notdef
5 | !04 U+0004 .notdef
6 | !05 U+0005 .notdef
7 | !06 U+0006 .notdef
8 | !07 U+0007 .notdef
9 | !08 U+0008 .notdef
10 | !09 U+0009 .notdef
11 | !0A U+000A .notdef
12 | !0B U+000B .notdef
13 | !0C U+000C .notdef
14 | !0D U+000D .notdef
15 | !0E U+000E .notdef
16 | !0F U+000F .notdef
17 | !10 U+0010 .notdef
18 | !11 U+0011 .notdef
19 | !12 U+0012 .notdef
20 | !13 U+0013 .notdef
21 | !14 U+0014 .notdef
22 | !15 U+0015 .notdef
23 | !16 U+0016 .notdef
24 | !17 U+0017 .notdef
25 | !18 U+0018 .notdef
26 | !19 U+0019 .notdef
27 | !1A U+001A .notdef
28 | !1B U+001B .notdef
29 | !1C U+001C .notdef
30 | !1D U+001D .notdef
31 | !1E U+001E .notdef
32 | !1F U+001F .notdef
33 | !20 U+0020 space
34 | !21 U+0021 exclam
35 | !22 U+0022 quotedbl
36 | !23 U+0023 numbersign
37 | !24 U+0024 dollar
38 | !25 U+0025 percent
39 | !26 U+0026 ampersand
40 | !27 U+0027 quotesingle
41 | !28 U+0028 parenleft
42 | !29 U+0029 parenright
43 | !2A U+002A asterisk
44 | !2B U+002B plus
45 | !2C U+002C comma
46 | !2D U+002D hyphen
47 | !2E U+002E period
48 | !2F U+002F slash
49 | !30 U+0030 zero
50 | !31 U+0031 one
51 | !32 U+0032 two
52 | !33 U+0033 three
53 | !34 U+0034 four
54 | !35 U+0035 five
55 | !36 U+0036 six
56 | !37 U+0037 seven
57 | !38 U+0038 eight
58 | !39 U+0039 nine
59 | !3A U+003A colon
60 | !3B U+003B semicolon
61 | !3C U+003C less
62 | !3D U+003D equal
63 | !3E U+003E greater
64 | !3F U+003F question
65 | !40 U+0040 at
66 | !41 U+0041 A
67 | !42 U+0042 B
68 | !43 U+0043 C
69 | !44 U+0044 D
70 | !45 U+0045 E
71 | !46 U+0046 F
72 | !47 U+0047 G
73 | !48 U+0048 H
74 | !49 U+0049 I
75 | !4A U+004A J
76 | !4B U+004B K
77 | !4C U+004C L
78 | !4D U+004D M
79 | !4E U+004E N
80 | !4F U+004F O
81 | !50 U+0050 P
82 | !51 U+0051 Q
83 | !52 U+0052 R
84 | !53 U+0053 S
85 | !54 U+0054 T
86 | !55 U+0055 U
87 | !56 U+0056 V
88 | !57 U+0057 W
89 | !58 U+0058 X
90 | !59 U+0059 Y
91 | !5A U+005A Z
92 | !5B U+005B bracketleft
93 | !5C U+005C backslash
94 | !5D U+005D bracketright
95 | !5E U+005E asciicircum
96 | !5F U+005F underscore
97 | !60 U+0060 grave
98 | !61 U+0061 a
99 | !62 U+0062 b
100 | !63 U+0063 c
101 | !64 U+0064 d
102 | !65 U+0065 e
103 | !66 U+0066 f
104 | !67 U+0067 g
105 | !68 U+0068 h
106 | !69 U+0069 i
107 | !6A U+006A j
108 | !6B U+006B k
109 | !6C U+006C l
110 | !6D U+006D m
111 | !6E U+006E n
112 | !6F U+006F o
113 | !70 U+0070 p
114 | !71 U+0071 q
115 | !72 U+0072 r
116 | !73 U+0073 s
117 | !74 U+0074 t
118 | !75 U+0075 u
119 | !76 U+0076 v
120 | !77 U+0077 w
121 | !78 U+0078 x
122 | !79 U+0079 y
123 | !7A U+007A z
124 | !7B U+007B braceleft
125 | !7C U+007C bar
126 | !7D U+007D braceright
127 | !7E U+007E asciitilde
128 | !7F U+007F .notdef
129 | !80 U+2500 SF100000
130 | !81 U+2502 SF110000
131 | !82 U+250C SF010000
132 | !83 U+2510 SF030000
133 | !84 U+2514 SF020000
134 | !85 U+2518 SF040000
135 | !86 U+251C SF080000
136 | !87 U+2524 SF090000
137 | !88 U+252C SF060000
138 | !89 U+2534 SF070000
139 | !8A U+253C SF050000
140 | !8B U+2580 upblock
141 | !8C U+2584 dnblock
142 | !8D U+2588 block
143 | !8E U+258C lfblock
144 | !8F U+2590 rtblock
145 | !90 U+2591 ltshade
146 | !91 U+2592 shade
147 | !92 U+2593 dkshade
148 | !93 U+2320 integraltp
149 | !94 U+25A0 filledbox
150 | !95 U+2219 periodcentered
151 | !96 U+221A radical
152 | !97 U+2248 approxequal
153 | !98 U+2264 lessequal
154 | !99 U+2265 greaterequal
155 | !9A U+00A0 space
156 | !9B U+2321 integralbt
157 | !9C U+00B0 degree
158 | !9D U+00B2 twosuperior
159 | !9E U+00B7 periodcentered
160 | !9F U+00F7 divide
161 | !A0 U+2550 SF430000
162 | !A1 U+2551 SF240000
163 | !A2 U+2552 SF510000
164 | !A3 U+0451 afii10071
165 | !A4 U+2553 SF520000
166 | !A5 U+2554 SF390000
167 | !A6 U+2555 SF220000
168 | !A7 U+2556 SF210000
169 | !A8 U+2557 SF250000
170 | !A9 U+2558 SF500000
171 | !AA U+2559 SF490000
172 | !AB U+255A SF380000
173 | !AC U+255B SF280000
174 | !AD U+255C SF270000
175 | !AE U+255D SF260000
176 | !AF U+255E SF360000
177 | !B0 U+255F SF370000
178 | !B1 U+2560 SF420000
179 | !B2 U+2561 SF190000
180 | !B3 U+0401 afii10023
181 | !B4 U+2562 SF200000
182 | !B5 U+2563 SF230000
183 | !B6 U+2564 SF470000
184 | !B7 U+2565 SF480000
185 | !B8 U+2566 SF410000
186 | !B9 U+2567 SF450000
187 | !BA U+2568 SF460000
188 | !BB U+2569 SF400000
189 | !BC U+256A SF540000
190 | !BD U+256B SF530000
191 | !BE U+256C SF440000
192 | !BF U+00A9 copyright
193 | !C0 U+044E afii10096
194 | !C1 U+0430 afii10065
195 | !C2 U+0431 afii10066
196 | !C3 U+0446 afii10088
197 | !C4 U+0434 afii10069
198 | !C5 U+0435 afii10070
199 | !C6 U+0444 afii10086
200 | !C7 U+0433 afii10068
201 | !C8 U+0445 afii10087
202 | !C9 U+0438 afii10074
203 | !CA U+0439 afii10075
204 | !CB U+043A afii10076
205 | !CC U+043B afii10077
206 | !CD U+043C afii10078
207 | !CE U+043D afii10079
208 | !CF U+043E afii10080
209 | !D0 U+043F afii10081
210 | !D1 U+044F afii10097
211 | !D2 U+0440 afii10082
212 | !D3 U+0441 afii10083
213 | !D4 U+0442 afii10084
214 | !D5 U+0443 afii10085
215 | !D6 U+0436 afii10072
216 | !D7 U+0432 afii10067
217 | !D8 U+044C afii10094
218 | !D9 U+044B afii10093
219 | !DA U+0437 afii10073
220 | !DB U+0448 afii10090
221 | !DC U+044D afii10095
222 | !DD U+0449 afii10091
223 | !DE U+0447 afii10089
224 | !DF U+044A afii10092
225 | !E0 U+042E afii10048
226 | !E1 U+0410 afii10017
227 | !E2 U+0411 afii10018
228 | !E3 U+0426 afii10040
229 | !E4 U+0414 afii10021
230 | !E5 U+0415 afii10022
231 | !E6 U+0424 afii10038
232 | !E7 U+0413 afii10020
233 | !E8 U+0425 afii10039
234 | !E9 U+0418 afii10026
235 | !EA U+0419 afii10027
236 | !EB U+041A afii10028
237 | !EC U+041B afii10029
238 | !ED U+041C afii10030
239 | !EE U+041D afii10031
240 | !EF U+041E afii10032
241 | !F0 U+041F afii10033
242 | !F1 U+042F afii10049
243 | !F2 U+0420 afii10034
244 | !F3 U+0421 afii10035
245 | !F4 U+0422 afii10036
246 | !F5 U+0423 afii10037
247 | !F6 U+0416 afii10024
248 | !F7 U+0412 afii10019
249 | !F8 U+042C afii10046
250 | !F9 U+042B afii10045
251 | !FA U+0417 afii10025
252 | !FB U+0428 afii10042
253 | !FC U+042D afii10047
254 | !FD U+0429 afii10043
255 | !FE U+0427 afii10041
256 | !FF U+042A afii10044
257 |
--------------------------------------------------------------------------------
/font/times.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Times-Roman","Up":-100,"Ut":50,"Cw":[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,333,408,500,500,833,778,180,333,333,500,564,250,333,250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,564,444,921,722,667,667,722,611,556,722,722,333,389,722,611,889,722,722,556,722,667,556,611,722,722,944,722,722,611,333,278,333,469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,541,350,500,350,333,500,444,1000,500,500,333,1000,556,333,889,350,611,350,350,333,333,444,444,350,500,1000,333,980,389,333,722,350,444,722,250,333,500,500,500,500,200,500,333,760,276,500,564,333,760,333,400,564,300,300,333,500,453,250,333,300,310,500,750,750,750,444,722,722,722,722,722,722,889,667,611,611,611,611,333,333,333,333,722,722,722,722,722,722,722,564,722,722,722,722,722,722,556,500,444,444,444,444,444,444,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,564,500,500,500,500,500,500,500,500]}
--------------------------------------------------------------------------------
/font/timesb.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Times-Bold","Up":-100,"Ut":50,"Cw":[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,333,555,500,500,1000,833,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,930,722,667,722,722,667,611,778,778,389,500,778,667,944,722,778,611,778,722,556,667,722,722,1000,722,722,667,333,278,333,581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,520,350,500,350,333,500,500,1000,500,500,333,1000,556,333,1000,350,667,350,350,333,333,500,500,350,500,1000,333,1000,389,333,722,350,444,722,250,333,500,500,500,500,220,500,333,747,300,500,570,333,747,333,400,570,300,300,333,556,540,250,333,300,330,500,750,750,750,500,722,722,722,722,722,722,1000,722,667,667,667,667,389,389,389,389,722,722,778,778,778,778,778,570,778,722,722,722,722,722,611,556,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,500,556,500]}
--------------------------------------------------------------------------------
/font/timesbi.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Times-BoldItalic","Up":-100,"Ut":50,"Cw":[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,389,555,500,500,833,778,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,832,667,667,667,722,667,667,722,778,389,500,667,611,889,722,722,611,722,667,556,611,722,667,889,667,611,611,333,278,333,570,500,333,500,500,444,500,444,333,500,556,278,278,500,278,778,556,500,500,500,389,389,278,556,444,667,500,444,389,348,220,348,570,350,500,350,333,500,500,1000,500,500,333,1000,556,333,944,350,611,350,350,333,333,500,500,350,500,1000,333,1000,389,333,722,350,389,611,250,389,500,500,500,500,220,500,333,747,266,500,606,333,747,333,400,570,300,300,333,576,500,250,333,300,300,500,750,750,750,500,667,667,667,667,667,667,944,667,667,667,667,667,389,389,389,389,722,722,722,722,722,722,722,570,722,722,722,722,722,611,611,500,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,444,500,444]}
--------------------------------------------------------------------------------
/font/timesi.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"Times-Italic","Up":-100,"Ut":50,"Cw":[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,333,420,500,500,833,778,214,333,333,500,675,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,675,675,675,500,920,611,611,667,722,611,611,722,722,333,444,667,556,833,667,722,611,722,611,500,556,722,611,833,611,556,556,389,278,389,422,500,333,500,500,444,500,444,278,500,500,278,278,444,278,722,500,500,500,500,389,389,278,500,444,667,444,444,389,400,275,400,541,350,500,350,333,500,556,889,500,500,333,1000,500,333,944,350,556,350,350,333,333,556,556,350,500,889,333,980,389,333,667,350,389,556,250,389,500,500,500,500,275,500,333,760,276,500,675,333,760,333,400,675,300,300,333,500,523,250,333,300,310,500,750,750,750,500,611,611,611,611,611,611,889,667,611,611,611,611,333,333,333,333,722,667,722,722,722,722,722,675,722,722,722,722,722,556,611,500,500,500,500,500,500,500,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,675,500,500,500,500,500,444,500,444]}
--------------------------------------------------------------------------------
/font/zapfdingbats.json:
--------------------------------------------------------------------------------
1 | {"Tp":"Core","Name":"ZapfDingbats","Up":-100,"Ut":50,"Cw":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,278,974,961,974,980,719,789,790,791,690,960,939,549,855,911,933,911,945,974,755,846,762,761,571,677,763,760,759,754,494,552,537,577,692,786,788,788,790,793,794,816,823,789,841,823,833,816,831,923,744,723,749,790,792,695,776,768,792,759,707,708,682,701,826,815,789,789,707,687,696,689,786,787,713,791,785,791,873,761,762,762,759,759,892,892,788,784,438,138,277,415,392,392,668,668,0,390,390,317,317,276,276,509,509,410,410,234,234,334,334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,732,544,544,910,667,760,760,776,595,694,626,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,894,838,1016,458,748,924,748,918,927,928,928,834,873,828,924,924,917,930,931,463,883,836,836,867,867,696,696,874,0,874,760,946,771,865,771,888,967,888,831,873,927,970,918,0]}
--------------------------------------------------------------------------------
/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/phpdave11/gofpdf
2 |
3 | go 1.12
4 |
5 | require (
6 | github.com/boombuler/barcode v1.0.0
7 | github.com/phpdave11/gofpdi v1.0.15
8 | github.com/pkg/errors v0.9.1 // indirect
9 | github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58
10 | golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a
11 | )
12 |
13 | replace gofpdf => ./
14 |
--------------------------------------------------------------------------------
/go.sum:
--------------------------------------------------------------------------------
1 | github.com/boombuler/barcode v1.0.0 h1:s1TvRnXwL2xJRaccrdcBQMZxq6X7DvsMogtmJeHDdrc=
2 | github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
3 | github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
4 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5 | github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
6 | github.com/phpdave11/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
7 | github.com/phpdave11/gofpdi v1.0.7 h1:k2oy4yhkQopCK+qW8KjCla0iU2RpDow+QUDmH9DDt44=
8 | github.com/phpdave11/gofpdi v1.0.7/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
9 | github.com/phpdave11/gofpdi v1.0.9 h1:MpzgK5tRbY7mfiGcLcV3CUk3sFBa61xbBXDYW3LlmBM=
10 | github.com/phpdave11/gofpdi v1.0.9/go.mod h1:r/fO8a9KSCrpwwTaqEx3amFJ6IHjfvAq7w1GP0XYRcg=
11 | github.com/phpdave11/gofpdi v1.0.10 h1:hghWGyJV8uSyIYvzCasOtqevbV/4FCL8fef9y8ttJTU=
12 | github.com/phpdave11/gofpdi v1.0.10/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
13 | github.com/phpdave11/gofpdi v1.0.11 h1:wsBNx+3S0wy1dEp6fzv281S74ogZGgIdYWV2PugWgho=
14 | github.com/phpdave11/gofpdi v1.0.11/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
15 | github.com/phpdave11/gofpdi v1.0.12 h1:RZb9NG62cw/RW0rHAduVRo+98R8o/G1krcg2ns7DakQ=
16 | github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
17 | github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
18 | github.com/phpdave11/gofpdi v1.0.15 h1:iJazY1BQ07I9s7N5EWjBO1YbhmKfHGxNligUv/Rw4Lc=
19 | github.com/phpdave11/gofpdi v1.0.15/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
20 | github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
21 | github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
22 | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
23 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
24 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
25 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
26 | github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58 h1:nlG4Wa5+minh3S9LVFtNoY+GVRiudA2e3EVfcCi3RCA=
27 | github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
28 | github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
29 | github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
30 | golang.org/x/image v0.0.0-20190902063713-cb417be4ba39 h1:4dQcAORh9oYBwVSBVIkP489LUPC+f1HBkTYXgmqfR+o=
31 | golang.org/x/image v0.0.0-20190902063713-cb417be4ba39/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
32 | golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a h1:gHevYm0pO4QUbwy8Dmdr01R5r1BuKtfYqRqF0h/Cbh0=
33 | golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
34 | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
35 |
--------------------------------------------------------------------------------
/image/doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/doc.png
--------------------------------------------------------------------------------
/image/doc.svg:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/image/fpdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/fpdf.png
--------------------------------------------------------------------------------
/image/gofpdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/gofpdf.png
--------------------------------------------------------------------------------
/image/golang-gopher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/golang-gopher.png
--------------------------------------------------------------------------------
/image/golang-gopher.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/golang-gopher.tiff
--------------------------------------------------------------------------------
/image/logo-gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/logo-gray.png
--------------------------------------------------------------------------------
/image/logo-progressive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/logo-progressive.jpg
--------------------------------------------------------------------------------
/image/logo-rgb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/logo-rgb.png
--------------------------------------------------------------------------------
/image/logo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/logo.gif
--------------------------------------------------------------------------------
/image/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/logo.jpg
--------------------------------------------------------------------------------
/image/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/logo.png
--------------------------------------------------------------------------------
/image/logo_gofpdf.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/logo_gofpdf.jpg
--------------------------------------------------------------------------------
/image/mit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/mit.png
--------------------------------------------------------------------------------
/image/mit.svg:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/image/sweden.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/image/sweden.png
--------------------------------------------------------------------------------
/internal/example/example.go:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2015 Kurt Jung (Gmail: kurt.w.jung)
2 | //
3 | // Permission to use, copy, modify, and distribute this software for any purpose
4 | // with or without fee is hereby granted, provided that the above copyright notice
5 | // and this permission notice appear in all copies.
6 | //
7 | // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8 | // REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9 | // FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10 | // INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11 | // LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12 | // OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13 | // PERFORMANCE OF THIS SOFTWARE.
14 |
15 | // Package example provides some helper routines for the test packages of
16 | // gofpdf and its various contributed packages located beneath the contrib
17 | // directory.
18 | package example
19 |
20 | import (
21 | "fmt"
22 | "os"
23 | "path/filepath"
24 | "strings"
25 | "time"
26 |
27 | "github.com/phpdave11/gofpdf"
28 | )
29 |
30 | var gofpdfDir string
31 |
32 | func init() {
33 | setRoot()
34 | gofpdf.SetDefaultCompression(false)
35 | gofpdf.SetDefaultCatalogSort(true)
36 | gofpdf.SetDefaultCreationDate(time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC))
37 | gofpdf.SetDefaultModificationDate(time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC))
38 | }
39 |
40 | // setRoot assigns the relative path to the gofpdfDir directory based on current working
41 | // directory
42 | func setRoot() {
43 | wdStr, err := os.Getwd()
44 | if err == nil {
45 | gofpdfDir = ""
46 | list := strings.Split(filepath.ToSlash(wdStr), "/")
47 | for j := len(list) - 1; j >= 0 && list[j] != "gofpdf"; j-- {
48 | gofpdfDir = filepath.Join(gofpdfDir, "..")
49 | }
50 | } else {
51 | panic(err)
52 | }
53 | }
54 |
55 | // ImageFile returns a qualified filename in which the path to the image
56 | // directory is prepended to the specified filename.
57 | func ImageFile(fileStr string) string {
58 | return filepath.Join(gofpdfDir, "image", fileStr)
59 | }
60 |
61 | // FontDir returns the path to the font directory.
62 | func FontDir() string {
63 | return filepath.Join(gofpdfDir, "font")
64 | }
65 |
66 | // FontFile returns a qualified filename in which the path to the font
67 | // directory is prepended to the specified filename.
68 | func FontFile(fileStr string) string {
69 | return filepath.Join(FontDir(), fileStr)
70 | }
71 |
72 | // TextFile returns a qualified filename in which the path to the text
73 | // directory is prepended to the specified filename.
74 | func TextFile(fileStr string) string {
75 | return filepath.Join(gofpdfDir, "text", fileStr)
76 | }
77 |
78 | // PdfDir returns the path to the PDF output directory.
79 | func PdfDir() string {
80 | return filepath.Join(gofpdfDir, "pdf")
81 | }
82 |
83 | // PdfFile returns a qualified filename in which the path to the PDF output
84 | // directory is prepended to the specified filename.
85 | func PdfFile(fileStr string) string {
86 | return filepath.Join(PdfDir(), fileStr)
87 | }
88 |
89 | // Filename returns a qualified filename in which the example PDF directory
90 | // path is prepended and the suffix ".pdf" is appended to the specified
91 | // filename.
92 | func Filename(baseStr string) string {
93 | return PdfFile(baseStr + ".pdf")
94 | }
95 |
96 | // referenceCompare compares the specified file with the file's reference copy
97 | // located in the 'reference' subdirectory. All bytes of the two files are
98 | // compared except for the value of the /CreationDate field in the PDF. This
99 | // function succeeds if both files are equivalent except for their
100 | // /CreationDate values or if the reference file does not exist.
101 | func referenceCompare(fileStr string) (err error) {
102 | var refFileStr, refDirStr, dirStr, baseFileStr string
103 | dirStr, baseFileStr = filepath.Split(fileStr)
104 | refDirStr = filepath.Join(dirStr, "reference")
105 | err = os.MkdirAll(refDirStr, 0755)
106 | if err == nil {
107 | refFileStr = filepath.Join(refDirStr, baseFileStr)
108 | err = gofpdf.ComparePDFFiles(fileStr, refFileStr, false)
109 | }
110 | return
111 | }
112 |
113 | // Summary generates a predictable report for use by test examples. If the
114 | // specified error is nil, the filename delimiters are normalized and the
115 | // filename printed to standard output with a success message. If the specified
116 | // error is not nil, its String() value is printed to standard output.
117 | func Summary(err error, fileStr string) {
118 | if err == nil {
119 | fileStr = filepath.ToSlash(fileStr)
120 | fmt.Printf("Successfully generated %s\n", fileStr)
121 | } else {
122 | fmt.Println(err)
123 | }
124 | }
125 |
126 | // SummaryCompare generates a predictable report for use by test examples. If
127 | // the specified error is nil, the generated file is compared with a reference
128 | // copy for byte-for-byte equality. If the files match, then the filename
129 | // delimiters are normalized and the filename printed to standard output with a
130 | // success message. If the files do not match, this condition is reported on
131 | // standard output. If the specified error is not nil, its String() value is
132 | // printed to standard output.
133 | func SummaryCompare(err error, fileStr string) {
134 | if err == nil {
135 | err = referenceCompare(fileStr)
136 | }
137 | if err == nil {
138 | fileStr = filepath.ToSlash(fileStr)
139 | fmt.Printf("Successfully generated %s\n", fileStr)
140 | } else {
141 | fmt.Println(err)
142 | }
143 | }
144 |
--------------------------------------------------------------------------------
/internal/example/example_test.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 Kurt Jung (Gmail: kurt.w.jung)
3 | *
4 | * Permission to use, copy, modify, and distribute this software for any
5 | * purpose with or without fee is hereby granted, provided that the above
6 | * copyright notice and this permission notice appear in all copies.
7 | *
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 | */
16 |
17 | package example_test
18 |
19 | import (
20 | "errors"
21 |
22 | "github.com/phpdave11/gofpdf/internal/example"
23 | )
24 |
25 | // ExampleFilename tests the Filename() and Summary() functions.
26 | func ExampleFilename() {
27 | fileStr := example.Filename("example")
28 | example.Summary(errors.New("printer on fire"), fileStr)
29 | // Output:
30 | // printer on fire
31 | }
32 |
--------------------------------------------------------------------------------
/internal/files/bin/Makefile:
--------------------------------------------------------------------------------
1 | TRG= ../files.go
2 | JSON= ../../../font/calligra.json
3 | Z= ../../../font/calligra.z
4 |
5 | ${TRG} : ${JSON} ${Z} ./bin
6 | echo "package files" > ${TRG}
7 | echo "" >> ${TRG}
8 | echo "// CalligraJson is embedded byte slice for calligra.json" >> ${TRG}
9 | echo "var CalligraJson = []byte{" >> ${TRG}
10 | ./bin < ${JSON} >> ${TRG}
11 | echo "}" >> ${TRG}
12 | echo "" >> ${TRG}
13 | echo "// CalligraZ is embedded byte slice for calligra.z" >> ${TRG}
14 | echo "var CalligraZ = []byte{" >> ${TRG}
15 | ./bin < ${Z} >> ${TRG}
16 | echo "}" >> ${TRG}
17 | gofmt -s -w ${TRG}
18 |
19 | ./bin : bin.go
20 | go build -v
21 |
22 | clean :
23 | rm -f ./bin ${TRG}
24 |
25 |
--------------------------------------------------------------------------------
/internal/files/bin/bin.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "fmt"
5 | "io/ioutil"
6 | "os"
7 | )
8 |
9 | func main() {
10 | var buf []byte
11 | var pos int
12 | var b byte
13 | var err error
14 | buf, err = ioutil.ReadAll(os.Stdin)
15 | if err == nil {
16 | for _, b = range buf {
17 | fmt.Printf("0x%02X, ", b)
18 | pos++
19 | if pos >= 16 {
20 | fmt.Println("")
21 | pos = 0
22 | }
23 | }
24 | }
25 | if err != nil {
26 | fmt.Fprintf(os.Stderr, "%s\n", err)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/label.go:
--------------------------------------------------------------------------------
1 | package gofpdf
2 |
3 | // Adapted from Nice Numbers for Graph Labels by Paul Heckbert from "Graphics
4 | // Gems", Academic Press, 1990
5 |
6 | // Paul Heckbert 2 Dec 88
7 |
8 | // https://github.com/erich666/GraphicsGems
9 |
10 | // LICENSE
11 |
12 | // This code repository predates the concept of Open Source, and predates most
13 | // licenses along such lines. As such, the official license truly is:
14 |
15 | // EULA: The Graphics Gems code is copyright-protected. In other words, you
16 | // cannot claim the text of the code as your own and resell it. Using the code
17 | // is permitted in any program, product, or library, non-commercial or
18 | // commercial. Giving credit is not required, though is a nice gesture. The
19 | // code comes as-is, and if there are any flaws or problems with any Gems code,
20 | // nobody involved with Gems - authors, editors, publishers, or webmasters -
21 | // are to be held responsible. Basically, don't be a jerk, and remember that
22 | // anything free comes with no guarantee.
23 |
24 | import (
25 | "math"
26 | )
27 |
28 | // niceNum returns a "nice" number approximately equal to x. The number is
29 | // rounded if round is true, converted to its ceiling otherwise.
30 | func niceNum(val float64, round bool) float64 {
31 | var nf float64
32 |
33 | exp := int(math.Floor(math.Log10(val)))
34 | f := val / math.Pow10(exp)
35 | if round {
36 | switch {
37 | case f < 1.5:
38 | nf = 1
39 | case f < 3.0:
40 | nf = 2
41 | case f < 7.0:
42 | nf = 5
43 | default:
44 | nf = 10
45 | }
46 | } else {
47 | switch {
48 | case f <= 1:
49 | nf = 1
50 | case f <= 2.0:
51 | nf = 2
52 | case f <= 5.0:
53 | nf = 5
54 | default:
55 | nf = 10
56 | }
57 | }
58 | return nf * math.Pow10(exp)
59 | }
60 |
61 | // TickmarkPrecision returns an appropriate precision value for label
62 | // formatting.
63 | func TickmarkPrecision(div float64) int {
64 | return int(math.Max(-math.Floor(math.Log10(div)), 0))
65 | }
66 |
67 | // Tickmarks returns a slice of tickmarks appropriate for a chart axis and an
68 | // appropriate precision for formatting purposes. The values min and max will
69 | // be contained within the tickmark range.
70 | func Tickmarks(min, max float64) (list []float64, precision int) {
71 | if max > min {
72 | spread := niceNum(max-min, false)
73 | d := niceNum((spread / 4), true)
74 | graphMin := math.Floor(min/d) * d
75 | graphMax := math.Ceil(max/d) * d
76 | precision = TickmarkPrecision(d)
77 | for x := graphMin; x < graphMax+0.5*d; x += d {
78 | list = append(list, x)
79 | }
80 | }
81 | return
82 | }
83 |
--------------------------------------------------------------------------------
/layer.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 Kurt Jung (Gmail: kurt.w.jung)
3 | *
4 | * Permission to use, copy, modify, and distribute this software for any
5 | * purpose with or without fee is hereby granted, provided that the above
6 | * copyright notice and this permission notice appear in all copies.
7 | *
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 | */
16 |
17 | package gofpdf
18 |
19 | // Routines in this file are translated from
20 | // http://www.fpdf.org/en/script/script97.php
21 |
22 | type layerType struct {
23 | name string
24 | visible bool
25 | objNum int // object number
26 | }
27 |
28 | type layerRecType struct {
29 | list []layerType
30 | currentLayer int
31 | openLayerPane bool
32 | }
33 |
34 | func (f *Fpdf) layerInit() {
35 | f.layer.list = make([]layerType, 0)
36 | f.layer.currentLayer = -1
37 | f.layer.openLayerPane = false
38 | }
39 |
40 | // AddLayer defines a layer that can be shown or hidden when the document is
41 | // displayed. name specifies the layer name that the document reader will
42 | // display in the layer list. visible specifies whether the layer will be
43 | // initially visible. The return value is an integer ID that is used in a call
44 | // to BeginLayer().
45 | func (f *Fpdf) AddLayer(name string, visible bool) (layerID int) {
46 | layerID = len(f.layer.list)
47 | f.layer.list = append(f.layer.list, layerType{name: name, visible: visible})
48 | return
49 | }
50 |
51 | // BeginLayer is called to begin adding content to the specified layer. All
52 | // content added to the page between a call to BeginLayer and a call to
53 | // EndLayer is added to the layer specified by id. See AddLayer for more
54 | // details.
55 | func (f *Fpdf) BeginLayer(id int) {
56 | f.EndLayer()
57 | if id >= 0 && id < len(f.layer.list) {
58 | f.outf("/OC /OC%d BDC", id)
59 | f.layer.currentLayer = id
60 | }
61 | }
62 |
63 | // EndLayer is called to stop adding content to the currently active layer. See
64 | // BeginLayer for more details.
65 | func (f *Fpdf) EndLayer() {
66 | if f.layer.currentLayer >= 0 {
67 | f.out("EMC")
68 | f.layer.currentLayer = -1
69 | }
70 | }
71 |
72 | // OpenLayerPane advises the document reader to open the layer pane when the
73 | // document is initially displayed.
74 | func (f *Fpdf) OpenLayerPane() {
75 | f.layer.openLayerPane = true
76 | }
77 |
78 | func (f *Fpdf) layerEndDoc() {
79 | if len(f.layer.list) > 0 {
80 | if f.pdfVersion < "1.5" {
81 | f.pdfVersion = "1.5"
82 | }
83 | }
84 | }
85 |
86 | func (f *Fpdf) layerPutLayers() {
87 | for j, l := range f.layer.list {
88 | f.newobj()
89 | f.layer.list[j].objNum = f.n
90 | f.outf("<>", f.textstring(utf8toutf16(l.name)))
91 | f.out("endobj")
92 | }
93 | }
94 |
95 | func (f *Fpdf) layerPutResourceDict() {
96 | if len(f.layer.list) > 0 {
97 | f.out("/Properties <<")
98 | for j, layer := range f.layer.list {
99 | f.outf("/OC%d %d 0 R", j, layer.objNum)
100 | }
101 | f.out(">>")
102 | }
103 |
104 | }
105 |
106 | func (f *Fpdf) layerPutCatalog() {
107 | if len(f.layer.list) > 0 {
108 | onStr := ""
109 | offStr := ""
110 | for _, layer := range f.layer.list {
111 | onStr += sprintf("%d 0 R ", layer.objNum)
112 | if !layer.visible {
113 | offStr += sprintf("%d 0 R ", layer.objNum)
114 | }
115 | }
116 | f.outf("/OCProperties <>>>", onStr, offStr, onStr)
117 | if f.layer.openLayerPane {
118 | f.out("/PageMode /UseOC")
119 | }
120 | }
121 | }
122 |
--------------------------------------------------------------------------------
/list/list.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "fmt"
5 | "os"
6 | "path/filepath"
7 | "strings"
8 | )
9 |
10 | func matchTail(str, tailStr string) (match bool, headStr string) {
11 | sln := len(str)
12 | ln := len(tailStr)
13 | if sln > ln {
14 | match = str[sln-ln:] == tailStr
15 | if match {
16 | headStr = str[:sln-ln]
17 | }
18 | }
19 | return
20 | }
21 |
22 | func matchHead(str, headStr string) (match bool, tailStr string) {
23 | ln := len(headStr)
24 | if len(str) > ln {
25 | match = str[:ln] == headStr
26 | if match {
27 | tailStr = str[ln:]
28 | }
29 | }
30 | return
31 | }
32 |
33 | func main() {
34 | var err error
35 | var ok bool
36 | var showStr, name string
37 | err = filepath.Walk("pdf/reference", func(path string, info os.FileInfo, err error) error {
38 | if info.Mode().IsRegular() {
39 | name = filepath.Base(path)
40 | ok, name = matchTail(name, ".pdf")
41 | if ok {
42 | name = strings.Replace(name, "_", " ", -1)
43 | ok, showStr = matchHead(name, "Fpdf ")
44 | if ok {
45 | fmt.Printf("[%s](%s)\n", showStr, path)
46 | } else {
47 | ok, showStr = matchHead(name, "contrib ")
48 | if ok {
49 | fmt.Printf("[%s](%s)\n", showStr, path)
50 | }
51 | }
52 | }
53 | }
54 | return nil
55 | })
56 | if err != nil {
57 | fmt.Println(err)
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/makefont/doc.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2013 Kurt Jung
3 | *
4 | * Permission to use, copy, modify, and distribute this software for any
5 | * purpose with or without fee is hereby granted, provided that the above
6 | * copyright notice and this permission notice appear in all copies.
7 | *
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 | */
16 |
17 | /*
18 | Command makefont generates a font definition file.
19 |
20 | This utility is used to generate a font definition file that allows TrueType
21 | and Type1 fonts to be used in PDFs produced with the fpdf package.
22 | */
23 | package main
24 |
--------------------------------------------------------------------------------
/makefont/makefont.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "flag"
5 | "fmt"
6 | "github.com/phpdave11/gofpdf"
7 | "os"
8 | )
9 |
10 | func errPrintf(fmtStr string, args ...interface{}) {
11 | fmt.Fprintf(os.Stderr, fmtStr, args...)
12 | }
13 |
14 | func showHelp() {
15 | errPrintf("Usage: %s [options] font_file [font_file...]\n", os.Args[0])
16 | flag.PrintDefaults()
17 | fmt.Fprintln(os.Stderr, "\n"+
18 | "font_file is the name of the TrueType file (extension .ttf), OpenType file\n"+
19 | "(extension .otf) or binary Type1 file (extension .pfb) from which to\n"+
20 | "generate a definition file. If an OpenType file is specified, it must be one\n"+
21 | "that is based on TrueType outlines, not PostScript outlines; this cannot be\n"+
22 | "determined from the file extension alone. If a Type1 file is specified, a\n"+
23 | "metric file with the same pathname except with the extension .afm must be\n"+
24 | "present.")
25 | errPrintf("\nExample: %s --embed --enc=../font/cp1252.map --dst=../font calligra.ttf /opt/font/symbol.pfb\n", os.Args[0])
26 | }
27 |
28 | func tutorialSummary(f *gofpdf.Fpdf, fileStr string) {
29 | if f.Ok() {
30 | fl, err := os.Create(fileStr)
31 | defer fl.Close()
32 | if err == nil {
33 | f.Output(fl)
34 | } else {
35 | f.SetError(err)
36 | }
37 | }
38 | if f.Ok() {
39 | fmt.Printf("Successfully generated %s\n", fileStr)
40 | } else {
41 | errPrintf("%s\n", f.Error())
42 | }
43 | }
44 |
45 | func main() {
46 | var dstDirStr, encodingFileStr string
47 | var err error
48 | var help, embed bool
49 | flag.StringVar(&dstDirStr, "dst", ".", "directory for output files (*.z, *.json)")
50 | flag.StringVar(&encodingFileStr, "enc", "cp1252.map", "code page file")
51 | flag.BoolVar(&embed, "embed", false, "embed font into PDF")
52 | flag.BoolVar(&help, "help", false, "command line usage")
53 | flag.Parse()
54 | if help {
55 | showHelp()
56 | } else {
57 | args := flag.Args()
58 | if len(args) > 0 {
59 | for _, fileStr := range args {
60 | err = gofpdf.MakeFont(fileStr, encodingFileStr, dstDirStr, os.Stderr, embed)
61 | if err != nil {
62 | errPrintf("%s\n", err)
63 | }
64 | // errPrintf("Font file [%s], Encoding file [%s], Embed [%v]\n", fileStr, encodingFileStr, embed)
65 | }
66 | } else {
67 | errPrintf("At least one Type1 or TrueType font must be specified\n")
68 | showHelp()
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/makefont/makefont_test.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "os/exec"
5 | "strings"
6 | "testing"
7 | )
8 |
9 | func TestMakefont(t *testing.T) {
10 | var out []byte
11 | var err error
12 | const expect = "Font definition file successfully generated"
13 | // Make sure makefont utility has been built before generating font definition file
14 | err = exec.Command("go", "build").Run()
15 | if err != nil {
16 | t.Fatal(err)
17 | }
18 | out, err = exec.Command("./makefont", "--dst=../font", "--embed",
19 | "--enc=../font/cp1252.map", "../font/calligra.ttf").CombinedOutput()
20 | if err != nil {
21 | t.Fatal(err)
22 | }
23 | if !strings.Contains(string(out), expect) {
24 | t.Fatalf("Unexpected output from makefont")
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/pdf/.empty:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/.empty
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_AddFont.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_AddFont.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_AddLayer.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_AddLayer.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_AddPage.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_AddPage.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_AddUTF8Font.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_AddUTF8Font.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_Beziergon.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
7 | endobj
8 | 4 0 obj
9 | <>
10 | stream
11 | 0 J
12 | 0 j
13 | 0.57 w
14 | 0.000 G
15 | 0.000 g
16 | BT /F0 15.00 Tf ET
17 | BT 176.34 801.54 Td (Demonstration of Beziergon function) Tj ET
18 | [2.27 2.27] 0.00 d
19 | 0.627 G
20 | 121.89 690.00 m
21 | 209.76378 690.00024 l
22 | 209.76378 602.12622 l
23 | 297.63780 602.12622 l
24 | 297.63780 514.25220 l
25 | 385.51181 514.25220 l
26 | 385.51181 426.37819 l
27 | 473.38583 426.37819 l
28 | 473.38583 338.50417 l
29 | 209.76378 338.50417 l
30 | 209.76378 426.37819 l
31 | 121.88976 426.37819 l
32 | 121.88976 690.00024 l
33 | S
34 | [] 0.00 d
35 | 0.251 0.251 0.502 RG
36 | 1.70 w
37 | 121.89 426.38 m
38 | 69.16535 479.10260 69.16535 637.27583 121.88976 690.00024 c
39 | 174.61417 742.72465 157.03937 742.72465 209.76378 690.00024 c
40 | 262.48819 637.27583 157.03937 654.85063 209.76378 602.12622 c
41 | 262.48819 549.40181 244.91339 654.85063 297.63780 602.12622 c
42 | 350.36220 549.40181 244.91339 566.97661 297.63780 514.25220 c
43 | 350.36220 461.52780 332.78740 566.97661 385.51181 514.25220 c
44 | 438.23622 461.52780 332.78740 479.10260 385.51181 426.37819 c
45 | 438.23622 373.65378 420.66142 479.10260 473.38583 426.37819 c
46 | 526.11024 373.65378 526.11024 391.22858 473.38583 338.50417 c
47 | 420.66142 285.77976 262.48819 285.77976 209.76378 338.50417 c
48 | 157.03937 391.22858 262.48819 373.65378 209.76378 426.37819 c
49 | 157.03937 479.10260 174.61417 373.65378 121.88976 426.37819 c
50 | S
51 |
52 | endstream
53 | endobj
54 | 1 0 obj
55 | <>
60 | endobj
61 | 5 0 obj
62 | <>
67 | endobj
68 | 2 0 obj
69 | <<
70 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
71 | /Font <<
72 | /F0 5 0 R
73 | >>
74 | /XObject <<
75 | >>
76 | >>
77 | endobj
78 | 6 0 obj
79 | <<
80 | /Producer (FPDF 1.7)
81 | /CreationDate (D:20000101000000)
82 | >>
83 | endobj
84 | 7 0 obj
85 | <<
86 | /Type /Catalog
87 | /Pages 1 0 R
88 | >>
89 | endobj
90 | xref
91 | 0 8
92 | 0000000000 65535 f
93 | 0000001370 00000 n
94 | 0000001553 00000 n
95 | 0000000009 00000 n
96 | 0000000087 00000 n
97 | 0000001457 00000 n
98 | 0000001657 00000 n
99 | 0000001732 00000 n
100 | trailer
101 | <<
102 | /Size 8
103 | /Root 7 0 R
104 | /Info 6 0 R
105 | >>
106 | startxref
107 | 1781
108 | %%EOF
109 |
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_Bookmark.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
7 | endobj
8 | 4 0 obj
9 | <>
10 | stream
11 | 0 J
12 | 0 j
13 | 0.57 w
14 | 0.000 G
15 | 0.000 g
16 | BT /F0 15.00 Tf ET
17 | BT 31.19 800.54 Td (Paragraph 1) Tj ET
18 | BT 31.19 658.80 Td (Paragraph 2) Tj ET
19 |
20 | endstream
21 | endobj
22 | 5 0 obj
23 | <>
27 | endobj
28 | 6 0 obj
29 | <>
30 | stream
31 | 0 J
32 | 0 j
33 | 0.57 w
34 | BT /F0 15.00 Tf ET
35 | 0.000 G
36 | 0.000 g
37 | BT 31.19 800.54 Td (Paragraph 3) Tj ET
38 |
39 | endstream
40 | endobj
41 | 1 0 obj
42 | <>
47 | endobj
48 | 7 0 obj
49 | <>
54 | endobj
55 | 2 0 obj
56 | <<
57 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
58 | /Font <<
59 | /F0 7 0 R
60 | >>
61 | /XObject <<
62 | >>
63 | >>
64 | endobj
65 | 8 0 obj
66 | <>
73 | endobj
74 | 9 0 obj
75 | <>
80 | endobj
81 | 10 0 obj
82 | <>
87 | endobj
88 | 11 0 obj
89 | <>
96 | endobj
97 | 12 0 obj
98 | <>
102 | endobj
103 | 13 0 obj
104 | <>
106 | endobj
107 | 14 0 obj
108 | <<
109 | /Producer (FPDF 1.7)
110 | /CreationDate (D:20000101000000)
111 | >>
112 | endobj
113 | 15 0 obj
114 | <<
115 | /Type /Catalog
116 | /Pages 1 0 R
117 | /Outlines 13 0 R
118 | /PageMode /UseOutlines
119 | >>
120 | endobj
121 | xref
122 | 0 16
123 | 0000000000 65535 f
124 | 0000000479 00000 n
125 | 0000000668 00000 n
126 | 0000000009 00000 n
127 | 0000000087 00000 n
128 | 0000000264 00000 n
129 | 0000000342 00000 n
130 | 0000000572 00000 n
131 | 0000000772 00000 n
132 | 0000000903 00000 n
133 | 0000001012 00000 n
134 | 0000001121 00000 n
135 | 0000001253 00000 n
136 | 0000001351 00000 n
137 | 0000001413 00000 n
138 | 0000001489 00000 n
139 | trailer
140 | <<
141 | /Size 16
142 | /Root 15 0 R
143 | /Info 14 0 R
144 | >>
145 | startxref
146 | 1579
147 | %%EOF
148 |
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_CellFormat_align.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_CellFormat_align.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_CellFormat_codepage.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_CellFormat_codepage.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_CellFormat_codepageescape.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_CellFormat_codepageescape.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_ClipText.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_ClipText.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_CreateTemplate.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_CreateTemplate.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_EmbeddedFont.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_EmbeddedFont.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_HTMLBasicNew.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_HTMLBasicNew.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_LinearGradient_gradient.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
7 | endobj
8 | 4 0 obj
9 | <>
10 | stream
11 | 0 J
12 | 0 j
13 | 0.57 w
14 | BT /F0 12.00 Tf ET
15 | 0.000 G
16 | 0.000 g
17 | q 0.00 841.89 595.28 -283.46 re W n
18 | 595.27559 0 0 283.46457 0.00000 558.42543 cm
19 | /Sh1 sh
20 | Q
21 | q 56.69 771.02 212.60 -212.60 re W n
22 | 212.59843 0 0 212.59843 56.69291 558.42543 cm
23 | /Sh2 sh
24 | Q
25 | 56.69 771.02 212.60 -212.60 re S
26 | q 325.98 771.02 212.60 -212.60 re W n
27 | 212.59843 0 0 212.59843 325.98425 558.42543 cm
28 | /Sh3 sh
29 | Q
30 | 325.98 771.02 212.60 -212.60 re S
31 | q 56.69 501.73 212.60 -212.60 re W n
32 | 212.59843 0 0 212.59843 56.69291 289.13409 cm
33 | /Sh4 sh
34 | Q
35 | 56.69 501.73 212.60 -212.60 re S
36 | q 325.98 501.73 212.60 -212.60 re W n
37 | 212.59843 0 0 212.59843 325.98425 289.13409 cm
38 | /Sh5 sh
39 | Q
40 | 325.98 501.73 212.60 -212.60 re S
41 |
42 | endstream
43 | endobj
44 | 1 0 obj
45 | <>
50 | endobj
51 | 5 0 obj
52 | <>
53 | endobj
54 | 6 0 obj
55 | <>
57 | endobj
58 | 7 0 obj
59 | <>
60 | endobj
61 | 8 0 obj
62 | <>
64 | endobj
65 | 9 0 obj
66 | <>
67 | endobj
68 | 10 0 obj
69 | <>
71 | endobj
72 | 11 0 obj
73 | <>
74 | endobj
75 | 12 0 obj
76 | <>
78 | endobj
79 | 13 0 obj
80 | <>
81 | endobj
82 | 14 0 obj
83 | <>
85 | endobj
86 | 15 0 obj
87 | <>
92 | endobj
93 | 2 0 obj
94 | <<
95 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
96 | /Font <<
97 | /F0 15 0 R
98 | >>
99 | /XObject <<
100 | >>
101 | /Shading <<
102 | /Sh1 6 0 R
103 | /Sh2 8 0 R
104 | /Sh3 10 0 R
105 | /Sh4 12 0 R
106 | /Sh5 14 0 R
107 | >>
108 | >>
109 | endobj
110 | 16 0 obj
111 | <<
112 | /Producer (FPDF 1.7)
113 | /CreationDate (D:20000101000000)
114 | >>
115 | endobj
116 | 17 0 obj
117 | <<
118 | /Type /Catalog
119 | /Pages 1 0 R
120 | >>
121 | endobj
122 | xref
123 | 0 18
124 | 0000000000 65535 f
125 | 0000000787 00000 n
126 | 0000002203 00000 n
127 | 0000000009 00000 n
128 | 0000000087 00000 n
129 | 0000000874 00000 n
130 | 0000000980 00000 n
131 | 0000001115 00000 n
132 | 0000001221 00000 n
133 | 0000001356 00000 n
134 | 0000001462 00000 n
135 | 0000001598 00000 n
136 | 0000001705 00000 n
137 | 0000001852 00000 n
138 | 0000001959 00000 n
139 | 0000002106 00000 n
140 | 0000002381 00000 n
141 | 0000002457 00000 n
142 | trailer
143 | <<
144 | /Size 18
145 | /Root 17 0 R
146 | /Info 16 0 R
147 | >>
148 | startxref
149 | 2507
150 | %%EOF
151 |
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_MoveTo_path.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
7 | endobj
8 | 4 0 obj
9 | <>
10 | stream
11 | 0 J
12 | 0 j
13 | 0.57 w
14 | 0.000 G
15 | 0.000 g
16 | 56.69 785.20 m
17 | 481.89 785.20 l
18 | 481.89 785.20 l
19 | 496.73193 785.19709 511.48271 779.08712 521.97771 768.59212 c
20 | 532.47271 758.09712 538.58268 743.34634 538.58268 728.50417 c
21 | 538.58268 558.42543 297.63780 558.42543 v
22 | 56.69291 558.42543 297.63780 274.96087 56.69291 274.96087 c
23 | h
24 | 0.784 g
25 | 8.50 w
26 | B
27 |
28 | endstream
29 | endobj
30 | 1 0 obj
31 | <>
36 | endobj
37 | 2 0 obj
38 | <<
39 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
40 | /Font <<
41 | >>
42 | /XObject <<
43 | >>
44 | >>
45 | endobj
46 | 5 0 obj
47 | <<
48 | /Producer (FPDF 1.7)
49 | /CreationDate (D:20000101000000)
50 | >>
51 | endobj
52 | 6 0 obj
53 | <<
54 | /Type /Catalog
55 | /Pages 1 0 R
56 | >>
57 | endobj
58 | xref
59 | 0 7
60 | 0000000000 65535 f
61 | 0000000459 00000 n
62 | 0000000546 00000 n
63 | 0000000009 00000 n
64 | 0000000087 00000 n
65 | 0000000640 00000 n
66 | 0000000715 00000 n
67 | trailer
68 | <<
69 | /Size 7
70 | /Root 6 0 R
71 | /Info 5 0 R
72 | >>
73 | startxref
74 | 764
75 | %%EOF
76 |
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_MultiCell.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_MultiCell.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_PageSize.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
8 | endobj
9 | 4 0 obj
10 | <>
11 | stream
12 | 0 J
13 | 0 j
14 | 0.57 w
15 | BT /F0 14.00 Tf ET
16 | 0.000 G
17 | 0.000 g
18 | BT 400.11 96.60 Td (12 in x 3 in) Tj ET
19 |
20 | endstream
21 | endobj
22 | 5 0 obj
23 | <>
27 | endobj
28 | 6 0 obj
29 | <>
30 | stream
31 | 0 J
32 | 0 j
33 | 0.57 w
34 | BT /F0 14.00 Tf ET
35 | 0.000 G
36 | 0.000 g
37 | BT 187.61 204.60 Td (6 in x 6 in) Tj ET
38 |
39 | endstream
40 | endobj
41 | 7 0 obj
42 | <>
47 | endobj
48 | 8 0 obj
49 | <>
50 | stream
51 | 0 J
52 | 0 j
53 | 0.57 w
54 | BT /F0 14.00 Tf ET
55 | 0.000 G
56 | 0.000 g
57 | BT 76.11 420.60 Td (3 in x 12 in) Tj ET
58 |
59 | endstream
60 | endobj
61 | 1 0 obj
62 | <>
67 | endobj
68 | 9 0 obj
69 | <>
74 | endobj
75 | 2 0 obj
76 | <<
77 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
78 | /Font <<
79 | /F0 9 0 R
80 | >>
81 | /XObject <<
82 | >>
83 | >>
84 | endobj
85 | 10 0 obj
86 | <<
87 | /Producer (FPDF 1.7)
88 | /CreationDate (D:20000101000000)
89 | >>
90 | endobj
91 | 11 0 obj
92 | <<
93 | /Type /Catalog
94 | /Pages 1 0 R
95 | >>
96 | endobj
97 | xref
98 | 0 12
99 | 0000000000 65535 f
100 | 0000000717 00000 n
101 | 0000000914 00000 n
102 | 0000000009 00000 n
103 | 0000000117 00000 n
104 | 0000000255 00000 n
105 | 0000000333 00000 n
106 | 0000000471 00000 n
107 | 0000000579 00000 n
108 | 0000000816 00000 n
109 | 0000001018 00000 n
110 | 0000001094 00000 n
111 | trailer
112 | <<
113 | /Size 12
114 | /Root 11 0 R
115 | /Info 10 0 R
116 | >>
117 | startxref
118 | 1144
119 | %%EOF
120 |
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_SVGBasicWrite.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_SVGBasicWrite.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_SetFontLoader.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_SetFontLoader.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_SetLeftMargin_multicolumn.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_SetLeftMargin_multicolumn.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_SetLineJoinStyle_caps.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
7 | endobj
8 | 4 0 obj
9 | <>
10 | stream
11 | 0 J
12 | 0 j
13 | 0.57 w
14 | 0.000 G
15 | 0.000 g
16 | 2 j
17 | 0.200 G
18 | 85.04 w
19 | 99.21 453.55 m
20 | 311.81 297.64 l
21 | 99.21 141.74 l
22 | S
23 | 1.000 0.200 0.200 RG
24 | 7.26 w
25 | 99.21 453.55 m
26 | 311.81 297.64 l
27 | 99.21 141.74 l
28 | S
29 | 2 J
30 | 0 j
31 | 0.200 G
32 | 85.04 w
33 | 311.81 453.55 m
34 | 524.41 297.64 l
35 | 311.81 141.74 l
36 | S
37 | 1.000 0.200 0.200 RG
38 | 7.26 w
39 | 311.81 453.55 m
40 | 524.41 297.64 l
41 | 311.81 141.74 l
42 | S
43 | 1 J
44 | 1 j
45 | 0.200 G
46 | 85.04 w
47 | 524.41 453.55 m
48 | 737.01 297.64 l
49 | 524.41 141.74 l
50 | S
51 | 1.000 0.200 0.200 RG
52 | 7.26 w
53 | 524.41 453.55 m
54 | 737.01 297.64 l
55 | 524.41 141.74 l
56 | S
57 |
58 | endstream
59 | endobj
60 | 1 0 obj
61 | <>
66 | endobj
67 | 2 0 obj
68 | <<
69 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
70 | /Font <<
71 | >>
72 | /XObject <<
73 | >>
74 | >>
75 | endobj
76 | 5 0 obj
77 | <<
78 | /Producer (FPDF 1.7)
79 | /CreationDate (D:20000101000000)
80 | >>
81 | endobj
82 | 6 0 obj
83 | <<
84 | /Type /Catalog
85 | /Pages 1 0 R
86 | >>
87 | endobj
88 | xref
89 | 0 7
90 | 0000000000 65535 f
91 | 0000000615 00000 n
92 | 0000000702 00000 n
93 | 0000000009 00000 n
94 | 0000000087 00000 n
95 | 0000000796 00000 n
96 | 0000000871 00000 n
97 | trailer
98 | <<
99 | /Size 7
100 | /Root 6 0 R
101 | /Info 5 0 R
102 | >>
103 | startxref
104 | 920
105 | %%EOF
106 |
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_SetProtection.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_SetProtection.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_Splitlines.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
7 | endobj
8 | 4 0 obj
9 | <>
10 | stream
11 | 0 J
12 | 0 j
13 | 0.57 w
14 | BT /F0 18.00 Tf ET
15 | 0.000 G
16 | 0.000 g
17 | 0.502 G
18 | 1.000 1.000 0.824 rg
19 | 99.21 594.64 396.85 -347.39 re B
20 | q 0.000 g BT 195.39 523.55 Td (Lorem ipsum dolor sit amet,) Tj ET Q
21 | q 0.000 g BT 173.40 505.55 Td (consectetur adipisicing elit, sed do) Tj ET Q
22 | q 0.000 g BT 166.64 487.55 Td (eiusmod tempor incididunt ut labore) Tj ET Q
23 | q 0.000 g BT 170.91 469.55 Td (et dolore magna aliqua. Ut enim ad) Tj ET Q
24 | q 0.000 g BT 196.63 451.55 Td (minim veniam, quis nostrud) Tj ET Q
25 | q 0.000 g BT 172.65 433.55 Td (exercitation ullamco laboris nisi ut) Tj ET Q
26 | q 0.000 g BT 172.91 415.55 Td (aliquip ex ea commodo consequat.) Tj ET Q
27 | q 0.000 g BT 163.42 397.55 Td (Duis aute irure dolor in reprehenderit) Tj ET Q
28 | q 0.000 g BT 168.89 379.55 Td (in voluptate velit esse cillum dolore) Tj ET Q
29 | q 0.000 g BT 159.16 361.55 Td (eu fugiat nulla pariatur. Excepteur sint) Tj ET Q
30 | q 0.000 g BT 163.92 343.55 Td (occaecat cupidatat non proident, sunt) Tj ET Q
31 | q 0.000 g BT 172.90 325.55 Td (in culpa qui officia deserunt mollit) Tj ET Q
32 | q 0.000 g BT 223.64 307.55 Td (anim id est laborum.) Tj ET Q
33 |
34 | endstream
35 | endobj
36 | 1 0 obj
37 | <>
42 | endobj
43 | 5 0 obj
44 | <>
49 | endobj
50 | 2 0 obj
51 | <<
52 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
53 | /Font <<
54 | /F0 5 0 R
55 | >>
56 | /XObject <<
57 | >>
58 | >>
59 | endobj
60 | 6 0 obj
61 | <<
62 | /Producer (FPDF 1.7)
63 | /CreationDate (D:20000101000000)
64 | >>
65 | endobj
66 | 7 0 obj
67 | <<
68 | /Type /Catalog
69 | /Pages 1 0 R
70 | >>
71 | endobj
72 | xref
73 | 0 8
74 | 0000000000 65535 f
75 | 0000001216 00000 n
76 | 0000001401 00000 n
77 | 0000000009 00000 n
78 | 0000000087 00000 n
79 | 0000001303 00000 n
80 | 0000001505 00000 n
81 | 0000001580 00000 n
82 | trailer
83 | <<
84 | /Size 8
85 | /Root 7 0 R
86 | /Info 6 0 R
87 | >>
88 | startxref
89 | 1629
90 | %%EOF
91 |
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_TransformBegin.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
7 | endobj
8 | 4 0 obj
9 | <>
10 | stream
11 | 0 J
12 | 0 j
13 | 0.57 w
14 | 0.000 G
15 | 0.000 g
16 | BT /F0 36.00 Tf ET
17 | BT 167.61 777.54 Td (Transformations) Tj ET
18 | q
19 | 1.00000 0.00000 0.00000 -1.00000 0.00000 1552.25244 cm
20 | q BT 167.60580 777.54354 Td 7 Tr (Transformations) Tj ET
21 | q 167.61 813.54 260.06 -47.34 re W n
22 | 260.06400 0 0 47.33858 167.60580 766.20496 cm
23 | /Sh1 sh
24 | Q
25 | Q
26 | Q
27 | BT /F0 12.00 Tf ET
28 | 0.784 G
29 | 141.73 671.81 113.39 -28.35 re S
30 | q 0.784 g BT 141.73 674.65 Td (Scale) Tj ET Q
31 | q
32 | 1.50000 0.00000 0.00000 1.50000 -70.86614 -321.73240 cm
33 | 0.000 G
34 | 141.73 671.81 113.39 -28.35 re S
35 | BT 141.73 674.65 Td (Scale) Tj ET
36 | Q
37 | 0.784 G
38 | 354.33 671.81 113.39 -28.35 re S
39 | q 0.784 g BT 354.33 674.65 Td (Translate) Tj ET Q
40 | q
41 | 1.00000 0.00000 0.00000 1.00000 19.84252 -14.17323 cm
42 | 0.000 G
43 | 354.33 671.81 113.39 -28.35 re S
44 | BT 354.33 674.65 Td (Translate) Tj ET
45 | Q
46 | 0.784 G
47 | 141.73 530.08 113.39 -28.35 re S
48 | q 0.784 g BT 141.73 532.91 Td (Rotate) Tj ET Q
49 | q
50 | 0.93969 0.34202 -0.34202 0.93969 180.15013 -18.21712 cm
51 | 0.000 G
52 | 141.73 530.08 113.39 -28.35 re S
53 | BT 141.73 532.91 Td (Rotate) Tj ET
54 | Q
55 | 0.784 G
56 | 354.33 530.08 113.39 -28.35 re S
57 | q 0.784 g BT 354.33 532.91 Td (Skew) Tj ET Q
58 | q
59 | 1.00000 0.00000 0.57735 1.00000 -306.04124 -0.00000 cm
60 | 0.000 G
61 | 354.33 530.08 113.39 -28.35 re S
62 | BT 354.33 532.91 Td (Skew) Tj ET
63 | Q
64 | 0.784 G
65 | 141.73 388.35 113.39 -28.35 re S
66 | q 0.784 g BT 141.73 391.18 Td (Mirror horizontal) Tj ET Q
67 | q
68 | -1.00000 0.00000 0.00000 1.00000 283.46457 0.00000 cm
69 | 0.000 G
70 | 141.73 388.35 113.39 -28.35 re S
71 | BT 141.73 391.18 Td (Mirror horizontal) Tj ET
72 | Q
73 | 0.784 G
74 | 354.33 388.35 113.39 -28.35 re S
75 | q 0.784 g BT 354.33 391.18 Td (Mirror vertical) Tj ET Q
76 | q
77 | 1.00000 0.00000 0.00000 -1.00000 0.00000 720.00047 cm
78 | 0.000 G
79 | 354.33 388.35 113.39 -28.35 re S
80 | BT 354.33 391.18 Td (Mirror vertical) Tj ET
81 | Q
82 | 0.784 G
83 | 141.73 246.61 113.39 -28.35 re S
84 | q 0.784 g BT 141.73 249.45 Td (Mirror point) Tj ET Q
85 | q
86 | -1.00000 0.00000 0.00000 -1.00000 283.46457 436.53591 cm
87 | 0.000 G
88 | 141.73 246.61 113.39 -28.35 re S
89 | BT 141.73 249.45 Td (Mirror point) Tj ET
90 | Q
91 | 0.784 G
92 | 354.33 246.61 113.39 -28.35 re S
93 | q 0.784 g BT 354.33 249.45 Td (Mirror line) Tj ET Q
94 | q
95 | 0.93969 -0.34202 0.34202 0.93969 -54.13803 129.50388 cm
96 | 337.32 221.10 m 342.99 215.43 l S
97 | 337.32 215.43 m 342.99 221.10 l S
98 | 325.98 218.27 m 510.24 218.27 l S
99 | Q
100 | q
101 | -1.00000 0.00000 0.00000 1.00000 680.31496 0.00000 cm
102 | -0.76604 -0.64279 0.64279 -0.76604 460.43329 604.11992 cm
103 | 0.000 G
104 | 354.33 246.61 113.39 -28.35 re S
105 | BT 354.33 249.45 Td (Mirror line) Tj ET
106 | Q
107 |
108 | endstream
109 | endobj
110 | 1 0 obj
111 | <>
116 | endobj
117 | 5 0 obj
118 | <>
119 | endobj
120 | 6 0 obj
121 | <>
123 | endobj
124 | 7 0 obj
125 | <>
130 | endobj
131 | 2 0 obj
132 | <<
133 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
134 | /Font <<
135 | /F0 7 0 R
136 | >>
137 | /XObject <<
138 | >>
139 | /Shading <<
140 | /Sh1 6 0 R
141 | >>
142 | >>
143 | endobj
144 | 8 0 obj
145 | <<
146 | /Producer (FPDF 1.7)
147 | /CreationDate (D:20000101000000)
148 | >>
149 | endobj
150 | 9 0 obj
151 | <<
152 | /Type /Catalog
153 | /Pages 1 0 R
154 | >>
155 | endobj
156 | xref
157 | 0 10
158 | 0000000000 65535 f
159 | 0000002527 00000 n
160 | 0000002951 00000 n
161 | 0000000009 00000 n
162 | 0000000087 00000 n
163 | 0000002614 00000 n
164 | 0000002720 00000 n
165 | 0000002855 00000 n
166 | 0000003081 00000 n
167 | 0000003156 00000 n
168 | trailer
169 | <<
170 | /Size 10
171 | /Root 9 0 R
172 | /Info 8 0 R
173 | >>
174 | startxref
175 | 3205
176 | %%EOF
177 |
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_UnderlineThickness.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_UnderlineThickness.pdf
--------------------------------------------------------------------------------
/pdf/reference/Fpdf_WriteAligned.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/pdf/reference/Fpdf_WriteAligned.pdf
--------------------------------------------------------------------------------
/pdf/reference/basic.pdf:
--------------------------------------------------------------------------------
1 | %PDF-1.3
2 | 3 0 obj
3 | <>
7 | endobj
8 | 4 0 obj
9 | <>
10 | stream
11 | 0 J
12 | 0 j
13 | 0.57 w
14 | 0.000 G
15 | 0.000 g
16 | BT /F0 16.00 Tf ET
17 | BT 31.19 794.57 Td (Hello World!) Tj ET
18 |
19 | endstream
20 | endobj
21 | 1 0 obj
22 | <>
27 | endobj
28 | 5 0 obj
29 | <>
34 | endobj
35 | 2 0 obj
36 | <<
37 | /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
38 | /Font <<
39 | /F0 5 0 R
40 | >>
41 | /XObject <<
42 | >>
43 | >>
44 | endobj
45 | 6 0 obj
46 | <<
47 | /Producer (FPDF 1.7)
48 | /CreationDate (D:20000101000000)
49 | >>
50 | endobj
51 | 7 0 obj
52 | <<
53 | /Type /Catalog
54 | /Pages 1 0 R
55 | >>
56 | endobj
57 | xref
58 | 0 8
59 | 0000000000 65535 f
60 | 0000000225 00000 n
61 | 0000000413 00000 n
62 | 0000000009 00000 n
63 | 0000000087 00000 n
64 | 0000000312 00000 n
65 | 0000000517 00000 n
66 | 0000000592 00000 n
67 | trailer
68 | <<
69 | /Size 8
70 | /Root 7 0 R
71 | /Info 6 0 R
72 | >>
73 | startxref
74 | 641
75 | %%EOF
76 |
--------------------------------------------------------------------------------
/protect.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2013-2014 Kurt Jung (Gmail: kurt.w.jung)
3 | *
4 | * Permission to use, copy, modify, and distribute this software for any
5 | * purpose with or without fee is hereby granted, provided that the above
6 | * copyright notice and this permission notice appear in all copies.
7 | *
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 | */
16 |
17 | // PDF protection is adapted from the work of Klemen VODOPIVEC for the fpdf
18 | // product.
19 |
20 | package gofpdf
21 |
22 | import (
23 | "crypto/md5"
24 | "crypto/rc4"
25 | "encoding/binary"
26 | "math/rand"
27 | )
28 |
29 | // Advisory bitflag constants that control document activities
30 | const (
31 | CnProtectPrint = 4
32 | CnProtectModify = 8
33 | CnProtectCopy = 16
34 | CnProtectAnnotForms = 32
35 | )
36 |
37 | type protectType struct {
38 | encrypted bool
39 | uValue []byte
40 | oValue []byte
41 | pValue int
42 | padding []byte
43 | encryptionKey []byte
44 | objNum int
45 | rc4cipher *rc4.Cipher
46 | rc4n uint32 // Object number associated with rc4 cipher
47 | }
48 |
49 | func (p *protectType) rc4(n uint32, buf *[]byte) {
50 | if p.rc4cipher == nil || p.rc4n != n {
51 | p.rc4cipher, _ = rc4.NewCipher(p.objectKey(n))
52 | p.rc4n = n
53 | }
54 | p.rc4cipher.XORKeyStream(*buf, *buf)
55 | }
56 |
57 | func (p *protectType) objectKey(n uint32) []byte {
58 | var nbuf, b []byte
59 | nbuf = make([]byte, 8, 8)
60 | binary.LittleEndian.PutUint32(nbuf, n)
61 | b = append(b, p.encryptionKey...)
62 | b = append(b, nbuf[0], nbuf[1], nbuf[2], 0, 0)
63 | s := md5.Sum(b)
64 | return s[0:10]
65 | }
66 |
67 | func oValueGen(userPass, ownerPass []byte) (v []byte) {
68 | var c *rc4.Cipher
69 | tmp := md5.Sum(ownerPass)
70 | c, _ = rc4.NewCipher(tmp[0:5])
71 | size := len(userPass)
72 | v = make([]byte, size, size)
73 | c.XORKeyStream(v, userPass)
74 | return
75 | }
76 |
77 | func (p *protectType) uValueGen() (v []byte) {
78 | var c *rc4.Cipher
79 | c, _ = rc4.NewCipher(p.encryptionKey)
80 | size := len(p.padding)
81 | v = make([]byte, size, size)
82 | c.XORKeyStream(v, p.padding)
83 | return
84 | }
85 |
86 | func (p *protectType) setProtection(privFlag byte, userPassStr, ownerPassStr string) {
87 | privFlag = 192 | (privFlag & (CnProtectCopy | CnProtectModify | CnProtectPrint | CnProtectAnnotForms))
88 | p.padding = []byte{
89 | 0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41,
90 | 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08,
91 | 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80,
92 | 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A,
93 | }
94 | userPass := []byte(userPassStr)
95 | var ownerPass []byte
96 | if ownerPassStr == "" {
97 | ownerPass = make([]byte, 8, 8)
98 | binary.LittleEndian.PutUint64(ownerPass, uint64(rand.Int63()))
99 | } else {
100 | ownerPass = []byte(ownerPassStr)
101 | }
102 | userPass = append(userPass, p.padding...)[0:32]
103 | ownerPass = append(ownerPass, p.padding...)[0:32]
104 | p.encrypted = true
105 | p.oValue = oValueGen(userPass, ownerPass)
106 | var buf []byte
107 | buf = append(buf, userPass...)
108 | buf = append(buf, p.oValue...)
109 | buf = append(buf, privFlag, 0xff, 0xff, 0xff)
110 | sum := md5.Sum(buf)
111 | p.encryptionKey = sum[0:5]
112 | p.uValue = p.uValueGen()
113 | p.pValue = -(int(privFlag^255) + 1)
114 | }
115 |
--------------------------------------------------------------------------------
/splittext.go:
--------------------------------------------------------------------------------
1 | package gofpdf
2 |
3 | import (
4 | "math"
5 | // "strings"
6 | "unicode"
7 | )
8 |
9 | // SplitText splits UTF-8 encoded text into several lines using the current
10 | // font. Each line has its length limited to a maximum width given by w. This
11 | // function can be used to determine the total height of wrapped text for
12 | // vertical placement purposes.
13 | func (f *Fpdf) SplitText(txt string, w float64) (lines []string) {
14 | cw := f.currentFont.Cw
15 | wmax := int(math.Ceil((w - 2*f.cMargin) * 1000 / f.fontSize))
16 | s := []rune(txt) // Return slice of UTF-8 runes
17 | nb := len(s)
18 | for nb > 0 && s[nb-1] == '\n' {
19 | nb--
20 | }
21 | s = s[0:nb]
22 | sep := -1
23 | i := 0
24 | j := 0
25 | l := 0
26 | for i < nb {
27 | c := s[i]
28 | l += cw[c]
29 | if unicode.IsSpace(c) || isChinese(c) {
30 | sep = i
31 | }
32 | if c == '\n' || l > wmax {
33 | if sep == -1 {
34 | if i == j {
35 | i++
36 | }
37 | sep = i
38 | } else {
39 | i = sep + 1
40 | }
41 | lines = append(lines, string(s[j:sep]))
42 | sep = -1
43 | j = i
44 | l = 0
45 | } else {
46 | i++
47 | }
48 | }
49 | if i != j {
50 | lines = append(lines, string(s[j:i]))
51 | }
52 | return lines
53 | }
54 |
--------------------------------------------------------------------------------
/subwrite.go:
--------------------------------------------------------------------------------
1 | package gofpdf
2 |
3 | // Adapted from http://www.fpdf.org/en/script/script61.php by Wirus and released with the FPDF license.
4 |
5 | // SubWrite prints text from the current position in the same way as Write().
6 | // ht is the line height in the unit of measure specified in New(). str
7 | // specifies the text to write. subFontSize is the size of the font in points.
8 | // subOffset is the vertical offset of the text in points; a positive value
9 | // indicates a superscript, a negative value indicates a subscript. link is the
10 | // identifier returned by AddLink() or 0 for no internal link. linkStr is a
11 | // target URL or empty for no external link. A non--zero value for link takes
12 | // precedence over linkStr.
13 | //
14 | // The SubWrite example demonstrates this method.
15 | func (f *Fpdf) SubWrite(ht float64, str string, subFontSize, subOffset float64, link int, linkStr string) {
16 | if f.err != nil {
17 | return
18 | }
19 | // resize font
20 | subFontSizeOld := f.fontSizePt
21 | f.SetFontSize(subFontSize)
22 | // reposition y
23 | subOffset = (((subFontSize - subFontSizeOld) / f.k) * 0.3) + (subOffset / f.k)
24 | subX := f.x
25 | subY := f.y
26 | f.SetXY(subX, subY-subOffset)
27 | //Output text
28 | f.write(ht, str, link, linkStr)
29 | // restore y position
30 | subX = f.x
31 | subY = f.y
32 | f.SetXY(subX, subY+subOffset)
33 | // restore font size
34 | f.SetFontSize(subFontSizeOld)
35 | }
36 |
--------------------------------------------------------------------------------
/svgwrite.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 Kurt Jung (Gmail: kurt.w.jung)
3 | *
4 | * Permission to use, copy, modify, and distribute this software for any
5 | * purpose with or without fee is hereby granted, provided that the above
6 | * copyright notice and this permission notice appear in all copies.
7 | *
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 | */
16 |
17 | package gofpdf
18 |
19 | // SVGBasicWrite renders the paths encoded in the basic SVG image specified by
20 | // sb. The scale value is used to convert the coordinates in the path to the
21 | // unit of measure specified in New(). The current position (as set with a call
22 | // to SetXY()) is used as the origin of the image. The current line cap style
23 | // (as set with SetLineCapStyle()), line width (as set with SetLineWidth()),
24 | // and draw color (as set with SetDrawColor()) are used in drawing the image
25 | // paths.
26 | func (f *Fpdf) SVGBasicWrite(sb *SVGBasicType, scale float64) {
27 | originX, originY := f.GetXY()
28 | var x, y, newX, newY float64
29 | var cx0, cy0, cx1, cy1 float64
30 | var path []SVGBasicSegmentType
31 | var seg SVGBasicSegmentType
32 | var startX, startY float64
33 | sval := func(origin float64, arg int) float64 {
34 | return origin + scale*seg.Arg[arg]
35 | }
36 | xval := func(arg int) float64 {
37 | return sval(originX, arg)
38 | }
39 | yval := func(arg int) float64 {
40 | return sval(originY, arg)
41 | }
42 | val := func(arg int) (float64, float64) {
43 | return xval(arg), yval(arg + 1)
44 | }
45 | for j := 0; j < len(sb.Segments) && f.Ok(); j++ {
46 | path = sb.Segments[j]
47 | for k := 0; k < len(path) && f.Ok(); k++ {
48 | seg = path[k]
49 | switch seg.Cmd {
50 | case 'M':
51 | x, y = val(0)
52 | startX, startY = x, y
53 | f.SetXY(x, y)
54 | case 'L':
55 | newX, newY = val(0)
56 | f.Line(x, y, newX, newY)
57 | x, y = newX, newY
58 | case 'C':
59 | cx0, cy0 = val(0)
60 | cx1, cy1 = val(2)
61 | newX, newY = val(4)
62 | f.CurveCubic(x, y, cx0, cy0, newX, newY, cx1, cy1, "D")
63 | x, y = newX, newY
64 | case 'Q':
65 | cx0, cy0 = val(0)
66 | newX, newY = val(2)
67 | f.Curve(x, y, cx0, cy0, newX, newY, "D")
68 | x, y = newX, newY
69 | case 'H':
70 | newX = xval(0)
71 | f.Line(x, y, newX, y)
72 | x = newX
73 | case 'V':
74 | newY = yval(0)
75 | f.Line(x, y, x, newY)
76 | y = newY
77 | case 'Z':
78 | f.Line(x, y, startX, startY)
79 | x, y = startX, startY
80 | default:
81 | f.SetErrorf("Unexpected path command '%c'", seg.Cmd)
82 | }
83 | }
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/text/20k_c1.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phpdave11/gofpdf/cb47a268fb6d3af7c24bb522c912b80a43a3d09f/text/20k_c1.txt
--------------------------------------------------------------------------------
/text/countries.txt:
--------------------------------------------------------------------------------
1 | Austria;Vienna;83859;8075
2 | Belgium;Brussels;30518;10192
3 | Denmark;Copenhagen;43094;5295
4 | Finland;Helsinki;304529;5147
5 | France;Paris;543965;58728
6 | Germany;Berlin;357022;82057
7 | Greece;Athens;131625;10511
8 | Ireland;Dublin;70723;3694
9 | Italy;Roma;301316;57563
10 | Luxembourg;Luxembourg;2586;424
11 | Netherlands;Amsterdam;41526;15654
12 | Portugal;Lisbon;91906;9957
13 | Spain;Madrid;504790;39348
14 | Sweden;Stockholm;410934;8839
15 | United Kingdom;London;243820;58862
16 |
--------------------------------------------------------------------------------
/text/utf-8test.txt:
--------------------------------------------------------------------------------
1 | English:
2 | Eat some more of these soft French buns and drink some tea.
3 |
4 | Greek:
5 | Φάτε μερικά από αυτά τα μαλακά γαλλικά κουλουράκια και πίνετε λίγο τσάι.
6 |
7 | Polish:
8 | Zjedz trochę tych miękkich francuskich bułeczek i wypij herbatę.
9 |
10 | Portuguese:
11 | Coma um pouco mais desses delicados pãezinhos franceses e beba um pouco de chá.
12 |
13 | Russian:
14 | Ешьте еще эти мягкие французские булочки и пейте чай.
15 |
16 | Vietnamese:
17 | Ăn thêm một số bánh Pháp mềm và uống một ít trà.
18 |
19 | Arabic:
20 | أكل بعض أكثر من هذه الكعك الفرنسي لينة وشرب بعض الشاي.
21 |
22 | Armenian:
23 | Կերեք այս փափուկ ֆրանսիական բանջարեղեններից մի քանիսը եւ մի քանի թեյ խմեք:
24 |
25 | Georgian:
26 | ჭამე კიდევ უფრო ამ რბილი ფრანგული buns და ვსვავ გარკვეული ჩაი.
27 |
28 | Hebrew:
29 | לאכול קצת יותר אלה לחמניות צרפתית רכה לשתות תה.
30 |
31 | Icelandic:
32 | Borða meira af þessum mjúka franska bollum og drekkaðu te.
33 |
34 | Igbo:
35 | Rie ụfọdụ n'ime ndị na-asụ French bun ma ṅụọ ụfọdụ tii.
36 |
37 | Kazakh:
38 | Осы жұмсақ француз көкөністерінің кейбіреулерін жеп, кейбір шай ішіңіз.
39 |
--------------------------------------------------------------------------------
/text/utf-8test2.txt:
--------------------------------------------------------------------------------
1 | Η μορφή φορητού εγγράφου (PDF) είναι μια ανοικτή ηλεκτρονική μορφή εγγράφων, η οποία αναπτύχθηκε αρχικά από την Adobe Systems, χρησιμοποιώντας μια ποικιλία λειτουργιών γλώσσας PostScript. Πρώτα απ 'όλα προορίζεται για την παρουσίαση έντυπων προϊόντων σε ηλεκτρονική μορφή. Για να δείτε υπάρχουν πολλά προγράμματα, καθώς και το επίσημο δωρεάν πρόγραμμα Adobe Reader. Ένα σημαντικό μέρος του σύγχρονου επαγγελματικού εξοπλισμού εκτύπωσης έχει υποστήριξη υλικού για τη μορφή PDF, η οποία επιτρέπει την εκτύπωση εγγράφων σε αυτή τη μορφή χωρίς τη χρήση λογισμικού. Ο παραδοσιακός τρόπος δημιουργίας εγγράφων PDF είναι ένας εικονικός εκτυπωτής, δηλαδή το ίδιο το έγγραφο είναι έτοιμο στο εξειδικευμένο του πρόγραμμα - ένα γραφικό πρόγραμμα ή ένα πρόγραμμα επεξεργασίας κειμένου.
2 |
--------------------------------------------------------------------------------
/ttfparser_test.go:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2013-2015 Kurt Jung (Gmail: kurt.w.jung)
3 | *
4 | * Permission to use, copy, modify, and distribute this software for any
5 | * purpose with or without fee is hereby granted, provided that the above
6 | * copyright notice and this permission notice appear in all copies.
7 | *
8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 | */
16 |
17 | package gofpdf_test
18 |
19 | import (
20 | "bytes"
21 | "fmt"
22 |
23 | "github.com/phpdave11/gofpdf"
24 | "github.com/phpdave11/gofpdf/internal/example"
25 | )
26 |
27 | func ExampleTtfParse() {
28 | ttf, err := gofpdf.TtfParse(example.FontDir() + "/calligra.ttf")
29 | if err == nil {
30 | fmt.Printf("Postscript name: %s\n", ttf.PostScriptName)
31 | fmt.Printf("unitsPerEm: %8d\n", ttf.UnitsPerEm)
32 | fmt.Printf("Xmin: %8d\n", ttf.Xmin)
33 | fmt.Printf("Ymin: %8d\n", ttf.Ymin)
34 | fmt.Printf("Xmax: %8d\n", ttf.Xmax)
35 | fmt.Printf("Ymax: %8d\n", ttf.Ymax)
36 | } else {
37 | fmt.Printf("%s\n", err)
38 | }
39 | // Output:
40 | // Postscript name: CalligrapherRegular
41 | // unitsPerEm: 1000
42 | // Xmin: -173
43 | // Ymin: -234
44 | // Xmax: 1328
45 | // Ymax: 899
46 | }
47 |
48 | func hexStr(s string) string {
49 | var b bytes.Buffer
50 | b.WriteString("\"")
51 | for _, ch := range []byte(s) {
52 | b.WriteString(fmt.Sprintf("\\x%02x", ch))
53 | }
54 | b.WriteString("\":")
55 | return b.String()
56 | }
57 |
58 | func ExampleFpdf_GetStringWidth() {
59 | pdf := gofpdf.New("", "", "", example.FontDir())
60 | pdf.SetFont("Helvetica", "", 12)
61 | pdf.AddPage()
62 | for _, s := range []string{"Hello", "世界", "\xe7a va?"} {
63 | fmt.Printf("%-32s width %5.2f, bytes %2d, runes %2d\n",
64 | hexStr(s), pdf.GetStringWidth(s), len(s), len([]rune(s)))
65 | if pdf.Err() {
66 | fmt.Println(pdf.Error())
67 | }
68 | }
69 | pdf.Close()
70 | // Output:
71 | // "\x48\x65\x6c\x6c\x6f": width 9.64, bytes 5, runes 5
72 | // "\xe4\xb8\x96\xe7\x95\x8c": width 13.95, bytes 6, runes 2
73 | // "\xe7\x61\x20\x76\x61\x3f": width 12.47, bytes 6, runes 6
74 | }
75 |
--------------------------------------------------------------------------------