diff --git a/pdf/images/max_page_size.jpg b/pdf/images/max_page_size.jpg new file mode 100644 index 0000000000000000000000000000000000000000..313b16ba45935ef5f027febea499bad59568854e --- /dev/null +++ b/pdf/images/max_page_size.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38cf564a75bcaad9c87d0de8f4d5f4572037bd2be510282dccb8c9b51c09bc38 +size 469552 diff --git a/pdf/images/max_page_size.png b/pdf/images/max_page_size.png new file mode 100644 index 0000000000000000000000000000000000000000..39e362b3daa4522d2107e065b246eb75af169e9e --- /dev/null +++ b/pdf/images/max_page_size.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70056b7564b7a805df4ddb123d6b55d51e0a439b8cac375f478f0e647094c0db +size 654891 diff --git a/pdf/pdf.html b/pdf/pdf.html index 9f34d859223fb87e2859294c24497395da35e71e..f6a6f1fdbeb76fc11cc17cc08a059cc17ceb87c9 100644 --- a/pdf/pdf.html +++ b/pdf/pdf.html @@ -19,6 +19,38 @@ class: center, middle --- +# Portable Document Format + +<img src="images/max_page_size.jpg" width="100%"> + +Max page size of PDF: 381 km × 381 km + + +--- + +# Structure of this talk + +PDF introduction: +- PDF history +- PDF standards +- PDF file format + +Text rendering: +- PDF text display +- TTF file format + +(My) new ideas: +- PDF & TFF writer +- Reflection + +--- + +class: center, middle + +# PDF History and Standards + +--- + # PostScript Somewhat the predecessor of PDF, created by the same company, Adobe. @@ -112,8 +144,9 @@ PDF/A Subversions: Single purpose, which is archived: **It displays content equally on all devices.** -<img src="images/sizing.png" width="60%"> +<img src="images/sizing.png" width="50%"> +<hr/> Comparison: How webpages deal with different devices: - Adapt font size, colors, spacing, ... to screen size - Adapt layout to aspect ratio / screen size @@ -214,7 +247,7 @@ endobj <</Type /Pages /Kids [3 0 R] /Count 1>> endobj 3 0 obj -<</Type /Page /Parent 2 0 R /Resources 4 0 R /MediaBox [0 0 210 297] /Contents [6 0 R]>> +<</Type /Page /Parent 2 0 R /MediaBox [0 0 210 297] /Resources 4 0 R /Contents [6 0 R]>> endobj 4 0 obj <</Font <</F 5 0 R>> /ProcSet [/PDF /Text]>> @@ -294,6 +327,22 @@ class: center, middle <i>Or: What is the most complicated approach to "support" unicode?</i> +--- + +# Crashcourse encoding + +Character: Letters / numbers ("what you see"); like 2, a, A, {, $ +Encoding: Defines how bits are mapped to characters + +| Character | UTF-8 Encoding | UTF-16 Encoding | (decimal) +| :--- | :--- | :--- | :--- | :--- | +| 2 | 0010 1000 | 0000 0000 0010 1000 | 32 +| a | 0011 1101 | 0000 0000 0011 1101 | 61 +| A | 0010 1001 | 0000 0000 0010 1001 | 41 + +Unicode: Maps decimals to characters. *huge*: March 2020, 143,859 characters defined. + + --- # Text with default encoding / fonts