134 Commits

Author SHA1 Message Date
Martin Haug
9dca4c2f78 Preallocate Page Refs 2022-06-08 17:05:07 +02:00
Martin Haug
55dce19f49 Restructure PDF structure writing 2022-06-08 16:36:50 +02:00
Martin Haug
4640585fbd First iteration of outline items 2022-06-04 12:57:45 +02:00
Martin Haug
4e3036afcb Sub- and superscripts
Fixes to PDF export I guess
Also improved rendition for non-Latin scripts
2022-05-31 22:56:08 +02:00
Laurenz
757615dc42 Fix color space definitions 2022-05-30 10:31:05 +02:00
Martin Haug
26a427a321 Fix FontFile3 dictionary for OpenType-Fonts 2022-05-30 10:28:06 +02:00
Laurenz
1a7ce3da02 Luma color 2022-05-27 16:09:43 +02:00
Laurenz
f8009b5b59 Reuse location type 2022-05-27 14:34:27 +02:00
Laurenz
66d8f4569a Locate me! 2022-05-26 11:59:53 +02:00
Martin Haug
99cb655832 Intra-document links 2022-05-27 12:56:20 +02:00
Martin Haug
84bd3454df Write language and direction for PDFs 2022-05-11 16:25:49 +02:00
Martin Haug
49b8574b8d Fix CFF font bug 2022-05-07 17:23:44 +02:00
Martin Haug
f07395f9a4 Move rounding logic out of exporters 2022-05-02 17:20:47 +02:00
Martin Haug
5f1499d380 Add round corners and change arguments 2022-05-01 11:50:34 +02:00
Laurenz
29eb13ca62 Sum color and length into stroke 2022-04-09 12:02:35 +02:00
Laurenz
4bb6240b40 Make Relative generic 2022-04-07 18:04:29 +02:00
Laurenz
23d108c8e0 Font fallback 2022-04-03 13:55:58 +02:00
Laurenz
e1f29d6cb9 Rework the core context 2022-02-23 14:53:55 +01:00
Martin Haug
fe70db1f4c New color stuff
- CMYK function
- More default colors
- Interpret RGB values as sRGB
2022-02-08 21:12:09 +01:00
Laurenz
20b1a38414 Switch from Rc to Arc 2022-01-31 16:47:00 +01:00
Laurenz
3739ab7720 Export into rendered images 2022-01-24 17:39:49 +01:00
Laurenz
f5dcb84e36 Make clippy a bit happier 2021-12-30 12:00:12 +01:00
Martin Haug
7c829c5c1b Bump pdf-writer, svg2pdf and error messages
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-07 00:06:54 +01:00
Martin Haug
f15ee7efb6 Add SVG capabilities 2021-12-06 14:58:57 +01:00
Laurenz
2982020480 Bump pdf-writer 2021-12-04 21:55:23 +01:00
Martin Haug
d971ac9a8c Add a producer info for the PDF 2021-12-02 17:24:52 +01:00
Laurenz
3a15922d2f X/Y abstractions 2021-11-26 16:32:06 +01:00
Laurenz
304d9dd110 Small style changes 2021-11-24 17:00:10 +01:00
Laurenz
8a88f71cb1 Transformations 2021-11-23 22:04:08 +01:00
Laurenz
0a974d86ba Welcome to Tigerland 2021-11-22 15:26:56 +01:00
Laurenz
cef46e6c40 Strokes 2021-11-20 15:51:07 +01:00
Laurenz
9a800daa82 Image fit modes 2021-11-16 21:32:29 +01:00
Laurenz
0e0f340502 Revert page and inline levels 2021-11-16 10:41:30 +01:00
Laurenz
63c274e7f6 Make clippy happier and remove Str 2021-11-15 17:06:43 +01:00
Laurenz
5b344b663a Reorganize modules
Instead of separating functionality into layout and library, everything lives in the library now. This way, related things live side by side and there are no duplicate file names in the two directories.
2021-10-31 15:52:35 +01:00
Laurenz
d4cc8c775d Move paint and colors into geom 2021-10-10 20:26:58 +02:00
Laurenz
c18321a4c2 Bugfix and tidying 2021-09-15 13:05:00 +02:00
Laurenz
d2618acd8d Bump pdf-writer 2021-09-09 12:16:55 +02:00
Laurenz
d101612414 Primitive CFF1 subsetting
The subsetting strategy is somewhat crazy for now: Simply zero the glyph data for all unused glyphs. While the CFF table itself doesn't shrink, the actual embedded font is compressed and greatly benefits from the repeated zeros.

This already compresses the fonts a lot (~90% for NotoSerifCJK), but they are still quite large.

Therefore, the plan of action:
- First, find more data that can be zeroed out.
- Then _maybe_ see whether we can instead properly rebuild the subsetted font.
2021-08-28 23:53:46 +02:00
Laurenz
0471e51bc4 Compress all PDF streams 2021-08-25 13:45:49 +02:00
Laurenz
f2882bf854 Support decoding of mac roman names
This allows discovery of Apple fonts without unicode name entries.
2021-08-25 13:24:30 +02:00
Laurenz
821536b253 Subset glyf and loca tables 2021-08-25 12:12:47 +02:00
Laurenz
6f84cf3c22 Basic subsetting architecture
Constructs a brand new font file where only necessary tables are contained.
2021-08-24 23:43:51 +02:00
Laurenz
7a2e3c80b5 PDF bug fixes
- Write correct subtype for CID Font
- Write CIDToGIDMap attribute
- Deduplicate CMap pairings
- Bump pdf-writer for string primitive fix
2021-08-24 17:18:50 +02:00
Laurenz
148a06c070 Switch from state to decorations for underline/strikethrough/overline 2021-08-24 00:41:15 +02:00
Martin
d546453880
Links! (#43)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-08-23 23:56:33 +02:00
Laurenz
0806af4aec Kerned PDF output 2021-08-23 13:21:44 +02:00
Laurenz
c0377de653 Shorter/clearer field name for geometry types
Size { width, height } => Size { w, h }
Spec { horizontal, vertical } => Spec { x, y }
Gen { cross, main } => Gen { inline, block }
2021-08-21 19:08:47 +02:00
Laurenz
3932bb2cb9 New source loading architecture 2021-08-09 11:26:41 +02:00
Laurenz
9488b1b850 Main context struct 2021-07-21 11:28:29 +02:00