Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
the form's own `/Matrix` into the graphics state's CTM (§8.10.1 b) before interpreting its
content, so a caller reading the CTM from inside the form's own content sees the composed value,
not the invoker's own CTM with the form's matrix left for it to apply separately. (#98)
- **Simple-font decoding for text extraction.** Type1, MMType1 and TrueType fonts map character
codes to glyph names through StandardEncoding, WinAnsiEncoding, MacRomanEncoding, the built-in
Symbol and ZapfDingbats encodings and `/Differences`, then to Unicode through the Adobe Glyph
List (ISO 32000-2 §9.6.5, §9.10.2, Annex D), with `/Widths` and the standard 14 metrics for
widths. Five diagnostic codes 400 to 404 report unreadable fonts, malformed encodings or
widths, fonts with no route to Unicode, and unmapped glyphs. Text extraction itself lands in a
later change. (#98)

### Changed

Expand Down
67 changes: 67 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,12 @@ Third-party data bundled in this product

Adobe Glyph List
Location : src/VellumPdf.Conformance/Resources/AdobeGlyphList.txt
src/VellumPdf.Reader/Resources/AdobeGlyphList.txt
(the Reader copy is byte-identical to the Conformance one)
Source : https://github.com/adobe-type-tools/agl-aglfn (glyphlist.txt)
Bundled copy extracted from veraPDF 1.30.2 (font/AdobeGlyphList.txt)
Use : Embedded resource for §7.21.6-2 glyph-name→Unicode compliance check
(Conformance) and the glyph-name Unicode route of §9.10.2 (Reader)
License : BSD 3-Clause

Copyright 2002-2019 Adobe (http://www.adobe.com/).
Expand Down Expand Up @@ -64,6 +67,70 @@ Adobe Glyph List
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

ZapfDingbats glyph list
Location : src/VellumPdf.Reader/Resources/ZapfDingbatsGlyphList.txt
Source : https://github.com/adobe-type-tools/agl-aglfn (zapfdingbats.txt)
commit 4036a9ca80a62f64f9de4f7321a9a045ad0ecfd6
SHA-256 : f6394e3cb8a447e84a1dad75d4baaf2aa7f45dc104faf369f4720e1a774ef2dc
(of the committed file, normalised to LF line endings)
Use : Unicode mapping for a ZapfDingbats-flagged simple font's glyph names
License : BSD 3-Clause, same copyright and terms as the Adobe Glyph List above.

Adobe Core 14 AFM font metrics
Location : src/VellumPdf.Reader/Fonts/SymbolFontMetrics.cs
(a derived table, generated by eng/generate-symbol-font-metrics.py;
the AFM files themselves are not committed to this repository)
Source : Adobe Core 14 AFM files (MustRead.html, Adobe Systems, 1997)
Use : Built-in encodings and advance widths for the Symbol and
ZapfDingbats fonts (ISO 32000-2 Annex D.5, D.6) and advance widths
for the twelve text fonts of the standard 14 when a font
dictionary omits /Widths (§9.6.2.2)

Symbol.afm:
Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated.
All rights reserved.

Helvetica.afm, Helvetica-Bold.afm, Helvetica-Oblique.afm,
Helvetica-BoldOblique.afm:
Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems
Incorporated. All Rights Reserved.

ZapfDingbats.afm:
Comment Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated.
All Rights Reserved.

Times-Roman.afm, Times-Bold.afm, Times-Italic.afm, Times-BoldItalic.afm:
Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems
Incorporated. All Rights Reserved.

Courier.afm, Courier-Oblique.afm:
Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems
Incorporated. All Rights Reserved.

Courier-Bold.afm, Courier-BoldOblique.afm:
Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems
Incorporated. All Rights Reserved.

Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
Times is a trademark of Linotype-Hell AG and/or its subsidiaries.
ITC Zapf Dingbats is a registered trademark of International Typeface
Corporation.

This file and the 14 PostScript(R) AFM files it accompanies may be used,
copied, and distributed for any purpose and without charge, with or without
modification, provided that all copyright notices are retained; that the AFM
files are not distributed without this file; that all modifications to this
file or any of the AFM files are prominently noted in the modified file(s);
and that this paragraph is not modified. Adobe Systems has no responsibility
or obligation to support the use of the AFM files.

That licence conditions redistribution of the AFM files themselves on all
copyright notices being retained, and SymbolFontMetrics.cs is a derived
table of glyph names, codes and advance widths rather than a copy of those
files, so the condition does not reach it. This entry reproduces the
notices anyway, because a reader of the generated table has no other way to
learn where its numbers came from.

────────────────────────────────────────────────────────────────────────────────
Third-party data used to build documentation (not bundled)
────────────────────────────────────────────────────────────────────────────────
Expand Down
Loading