SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Towards Desktop Publishing
László Németh
FSF.hu Foundation, Hungary



                                                                              1
                 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
In memoriam Keith Stribley (1976–2011)
  OpenOffice.org/LibreOffice developer




                                                                    2
       LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Why Desktop Publishing?
 Competitive feature
  MS Office 2010: a few optional OpenType features
 Niche in open source DTP
  Huge, mostly text documents
  Generated & structured documents (ODF)
 Answer for real problems
  i18n
  Unique in open source DTP (eg. Scribus is a page
  layout program without orphan/widow control).
 Attractive feature for professionals
  Better, than bad typography (WordArt/Fontwork)
                                                                                    3
                       LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Why Graphite?

Smart font technology of LibreOffice (since OOo 3.2)
Open standard with open source reference library
(unlike Apple AAT)
Answers for major and minor language
related/typographical problems
  Graphite smart font logic in the font files, described
  in GDL language and compiled by the Graphite
  compiler (OpenType is not so general and more
  vendor specific)
  Languages (free SIL Graphite fonts): Burmese,
  Coptic, Ethiopic, Greek, Khmer etc.
                                                                                     4
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Towards DTP

Advanced fonts for DTP
Fix Graphite integration
Standardization
DTP GUI
PDF output for printing
OpenType support
Other LibreOffice developments
Test examples
Etc. (extended LibreOffice help)


                                                                                    5
                       LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Linux Libertine and Biolinum
 Developed by Philipp H. Poll since 2003
 http://www.linuxlibertine.org
 More than 2000 glyphs
 Linux Libertine
   Modern baroque font face
   Regular, Italic, Bold, Semibold, Bold Italic
   Display: regular font variant for greater point size
   True small caps, superiors, old figures
 Linux Biolinum
   Humanist sans serif (modeled after Zapf's Optima)
   Regular, Bold, Italic, Bold Italic
                                                                                      6
                         LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Linux Libertine G and Linux Biolinum G
 Advanced fonts of LibreOffice
 Graphite port: kerning, features, anchors (OTF2GDL)
 Default ligatures, thousand separation, minus sign
 Optional true small caps, old figures, superiors,
 regular parentheses in Italic, Tex mode for math input
 Extended superiors for footnote texts etc.
 Usage: extended font names (or Graphite extensions)
 Fixes for bugs reported years ago
   Right aligned footnote numbering
   Footnote annotation: 1, 2, 3 .
   Native numbering (Chapter Two.), etc.
                                                                                     7
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Example » Ligatures
 Letter replacements for better kerning & layout
 Living tradition in typography
 Linux Libertine:
  Unicode: ff, fi, fl, ffi, ffl, st, ff, fi, fl, ffi, ffl, ij, st
  Extra: c, fb, fh, ffh, fj, ffj, fk, ffk, Th, Q
              c, f, f, f, f, T, Q
 Extra ligatures of Linux Libertine G:
  gf, gfö, gfi, gj (frequent in Hungarian)
  g (Hungarian digraph – optional ligature)

                                                                                  8
                     LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Example » Number variants

 Old figures
 Proportional numbers
 Case variant for uppercase texts
|0|1|2|3|4|5|6|7|8|9|   1945 to 2011                      (default)
|0|1|2|3|4|5|6|7|8|9|   1945 to 2011                      (onum)
|0|1|2|3|4|5|6|7|8|9|   1945 to 2011                      (o+pnum)
|0|1|2|3|4|5|6|7|8|9|   1945 to 2011                      (pnum)
|0|1|2|3|4|5|6|7|8|9|   1945 TO 2011                      (CASE)
                                                                                     9
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Example » True small caps
 Fix letter mixing and bad kerning with fake small caps

 True Small Caps
 True Small Caps
 True Small Caps
 True Small Caps
                                                                                    10
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Optical weighting
 Three optical weights of Linux Libertine G (like
 expensive Adobe font families for InDesign) in the
 upcoming version of LibreOffice:
  Linux Libertine (for 8–16 pt)
  The quick brown fox jumps over the lazy dog.
  Linux Libertine Display (16 pt)
  The quick brown fox jumps over the
  lazy dog.
  Linux Libertine Caption (8 pt, with feature sups)
  The quick brown fox jumps over the lazy dog.
                                                                                    11
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Optical weighting II
 Comparison of the letter k of these three weights




 Display         Normal                         Caption (superior)
                                                                                    12
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Example » Using styles for typography
 Fix fake footnote index numbers:
 Set “Linux Libertine G:sups=1&pnum=1” extended
 font name in the
 default character
 style “Footnote
 anchor”
 And set normal
 position




                                                                                  13
                      LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Optical margin
 Hanging punctuation (feature hang)
   hang=2 for automatic hyphen
   hang=1 for other (non-automatic) punctuation
   marks (experimental)
 For letters: initial Linux
 Libertine development




                                                                                   14
                       LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Combining diacritics
 Requirement of languages and scientific notations
 Letter + Unicode marks (U+300–U+36F), see input
 Anchoring: o͕ , g͕
 Case variants: m, M ́ ́
 Multiple combining diacritical marks: o,͓̾ O͔ ̿
 Superiors: ḿẅ
 Small caps: ḿ͕ a̞̿
 Kerning

          A͕̽V͔ A͓W, A͕ V͔ A͓W
                ̾ ̿ ̱́ ̽ ̾ ̿ ̞́
                                                                                   15
                       LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Task » Fix Graphite integration
 GDL rules for line boundaries not supported (need for
 optical margin)
 New Graphite engine in LibO 3.4: Graphite 2
  Missing space detection (need for Italic correction)
  Missing space replacement (for space variants in
  small caps, all caps and superiors)




                                                                                    16
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Task » Standardization
 Recent usage in OpenOffice.org/LibreOffice:
  Extended font names, eg. Linux Libertine G with
  small caps, old figures and proportional numbers:
  Linux Libertine G:smcp=1&onum=1&pnum=1
  Use font alternatives for better ODF compatibility:
  Linux Libertine G:onum=1;Linux Libertine G
 Proposal for adding Font Feature support to ODF by
 Keith Stribley & Martin Hosken



                                                                                    17
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Task » DTP GUI

 Smart font GUI
  Recent tools: Graphite extension by Keith Stribley
  Typography toolbar
 DTP GUI for advanced text and paragraph settings
  Last line justification
  Microtypography “slider”
   Minimal difference in paragraph/text width can fix
   huge hyphenation/typographical problems of the
   paragraph


                                                                                   18
                       LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Task » OpenType support

 Via Graphite engine
  Run-time conversion of OpenType tables to GDL
  Run-time GDL compiling
  Using the same TrueType font with the new
  Graphite tables
  Tools: Fontforge/Graphite compiler/OTFGDL




                                                                                  19
                      LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Task » PDF for printing
 Industrial requirements
   Cropped and monochrome/CMYK PDFs
   Future options in PDF export
 Recent solution: post-processing of PDF
 Set cropping (CropBox)
 gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf -c .setpdfwrite -f doc.pdf pdfmark.txt

    Content of pdfmark.txt:
 % cropping box coordinates in pt (x1 y1 x2 y2), here 5 mm (A4)
 [/CropBox [14.17 14.17 581.1 827.72] /PAGES pdfmark

 Color conversion
 gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sColorConversionStrategy=CMYK -sOutputFile=doc_CMYK.pdf
 -dProcessColorModel=/DeviceCMYK -dCompatibilityLevel=1.4 doc.pdf
 gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -sOutputFile=doc_gray.pdf
 -dProcessColorModel=/DeviceGray -dCompatibilityLevel=1.4 doc.pdf


                                                                                                            20
                                                LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Task » Table styles
  ODF feature, missing in LibreOffice
  “Huge effort” to implement (OOo Issue 111121)
  Temporary solution: table style extension, using
  macros and autoformat styles
   Example: modify all tables by one of the
   autoformat styles:

  for i = 0 to ThisComponent.TextTables.Count
     ThisComponent.TextTables(i).autoFormat("Blue")
  next I

                                                                                    21
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Other tasks
 Vertical alignment (OOo Issue 201386, 791877)
 Paragraph-level justification
 Hyphenation zone for left aligned texts
 Zone for automatic justification of the last line
 Better justification with letter scaling
 Kerning of the automatic hyphen mark
 Right aligned footnote numbering (recent solution:
 feature algn of Linux Libertine G)
 Separated columns of multiline titles and page
 numbers in TOC (MS Office: hidden feature by
 tabulator positions exceeding paragraph width)
                                                                                    22
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Case studies
 Keith Humble: Earliest piano works
 Kiadványszerkesztés LibreOffice Writer
 szövegszerkesztővel
 Lively Alphabet
 Bible




                                                                                    23
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
An early adopter from Australia
 Edited by Kim Bastin, 2010




                                                                                  24
                      LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Editorial notes with Linux Libertine G

 Ligatures, old figures, true small caps and superiors




                                                                                    25
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
DTP with LibreOffice Writer
 Textbook & example




                                                                                  26
                      LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Page layout demo of the textbook




                                                                             27
                 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Extensive frame handling in LibreOffice




                                                                             28
                 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Lively Alphabet
 Open source coloring book
 http://www.numbertext.org/linux/Lively_Alphabet.pdf
 http://www.numbertext.org/linux/Lively_Alphabet.odp
 Demo of the new font size variant and SVG
 Linux Libertine Display
   High quality size variant
   For titles, business cards, children books
 SVG picture format
   W3C open standard
   High quality vector graphics in LibreOffice
   Use external vectorization (Inkscape/potrace)
                                                                                   29
                       LibreOffice Paris 2011 Conference – Towards Desktop Publishing
30
LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Typesetting Bible » Motivations
 Huge test document (Bible ~ books)
 Free text (except the recent revisions and new
 translations)
 Tradition
   Johannes Gutenberg (1455, 42-line Bible)
   Misztótfalusi Kis Miklós (1685, “Aranyos Biblia”)
 SIL International (Graphite font technology)
   Christian non-profit organization
   primary partner of Wycliffe Bible Translators
 Christian LibreOffice developers
 Golden rule & free software (see GNU manifesto)
                                                                                     31
                         LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Typesetting Bible » Methods
 HTML version of the Bible (Hungarian Károli)
 Unix command line: convert to a single HTML file
 cat `grep -o '[-a-z0-9]*/[a-z0-9]*.html' {o,uj}/index.html | sed  's/index.html:?//g;s/$/chap*/' > biblia.html


 Convert to OpenDocument using ODFpy library
 import re, sys
 from odf.opendocument import OpenDocumentText
 from odf.style import Style, TextProperties, ParagraphProperties, FontFace
 from odf.text import P, H, Span

 textdoc = OpenDocumentText()

 # Font
 textdoc.fontfacedecls.addElement((FontFace(name="Linux Libertine G",
 fontfamily="Linux Libertine G", fontfamilygeneric="roman",fontpitch="variable")))
 textdoc.fontfacedecls.addElement((FontFace(name="Linux Libertine Display G",
 fontfamily="Linux Libertine Display G", fontfamilygeneric="roman",fontpitch="variable")))
 textdoc.fontfacedecls.addElement((FontFace(name="sups",
 fontfamily="Linux Libertine G:sups=1", fontfamilygeneric="roman",fontpitch="variable")))

 # Styles
 s = textdoc.styles
 StandardStyle = Style(name="Standard", family="paragraph")
 s.addElement(StandardStyle)

 TextBodyStyle = Style(name="Text_20_body",family="paragraph",
 parentstylename='Standard', displayname="Text body")
 TextBodyStyle.addElement(ParagraphProperties(margintop="0pt",                                                                                32
 marginbottom="0pt", textalign="justify"))                                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Typesetting Bible » Results
 ~770 A4 pages (font size: 12 pt)
 PDF output: 5.7 Mb (conversion takes a few minutes)
 Catched and fixed bug:
  bad hyphenation of words with leading and trailing
  numbers (numbering of sentences of the Bible)
  Fixed by Hyphen 2.8.3 (hyphenation library of
  LibreOffice)




                                                                                   33
                       LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Example » Bible in LibreOffice




                                                                              34
                  LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Desktop publishing in LibreOffice

                                                              Optical weighting (Display)
                   True small caps




                                                                                     Ligatures
    Optical weighting (Caption)

                  Language specific kerning




     Proportional numbers                               Hanging punctuation

                                                                                              35
                                  LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Summary
LibreOffice is a free DTP alternative with several
advanced typographical features:
  High quality free font technology & fonts with true
  small caps, ligatures, old figures, optical weighting,
  and experimental optical margin alignment
  Styles, frames, macros, XML based open file format
  (ODF) for complex typesetting
  Excellent PDF and SVG support
LibreOffice DTP project
  Fixes and enhancements with competitive features
  Documented case studies and real-world examples
                                                                                    36
                        LibreOffice Paris 2011 Conference – Towards Desktop Publishing
Thank you for your attention!
 More information:
 http://www.numbertext.org/linux




  Main sponsor of Graphite porting of Libertine Open
  Fonts for LibreOffice: FSF.hu Foundation, Hungary



                                                                                   37
                       LibreOffice Paris 2011 Conference – Towards Desktop Publishing

Weitere ähnliche Inhalte

Andere mochten auch

Le site de l'intégration : 3 minutes pour comprendre l'integration
Le site de l'intégration : 3 minutes pour comprendre l'integrationLe site de l'intégration : 3 minutes pour comprendre l'integration
Le site de l'intégration : 3 minutes pour comprendre l'integration
Communication Intégrée
 
Desktop Publishing - Study Plan Tutorial
Desktop Publishing - Study Plan TutorialDesktop Publishing - Study Plan Tutorial
Desktop Publishing - Study Plan Tutorial
Wisnu Chandra
 
Desktop publishing (power point)
Desktop publishing (power point)Desktop publishing (power point)
Desktop publishing (power point)
kuromi12
 

Andere mochten auch (12)

Le site de l'intégration : 3 minutes pour comprendre l'integration
Le site de l'intégration : 3 minutes pour comprendre l'integrationLe site de l'intégration : 3 minutes pour comprendre l'integration
Le site de l'intégration : 3 minutes pour comprendre l'integration
 
Flash vs-html5-adrien-leygues-pw-2011
Flash vs-html5-adrien-leygues-pw-2011Flash vs-html5-adrien-leygues-pw-2011
Flash vs-html5-adrien-leygues-pw-2011
 
How to Create an Effective Campaign with Layar Creator
How to Create an Effective Campaign with Layar CreatorHow to Create an Effective Campaign with Layar Creator
How to Create an Effective Campaign with Layar Creator
 
Où va l'imprimerie ?
Où va l'imprimerie ?Où va l'imprimerie ?
Où va l'imprimerie ?
 
Desktop Publishing - Study Plan Tutorial
Desktop Publishing - Study Plan TutorialDesktop Publishing - Study Plan Tutorial
Desktop Publishing - Study Plan Tutorial
 
How To Do Desktop Publishing
How To Do Desktop PublishingHow To Do Desktop Publishing
How To Do Desktop Publishing
 
Audio Editing
Audio EditingAudio Editing
Audio Editing
 
Desktop Publishing
Desktop PublishingDesktop Publishing
Desktop Publishing
 
Desktop publishing intro
Desktop publishing introDesktop publishing intro
Desktop publishing intro
 
Desktop publishing (power point)
Desktop publishing (power point)Desktop publishing (power point)
Desktop publishing (power point)
 
Transform Your Marketing
Transform Your MarketingTransform Your Marketing
Transform Your Marketing
 
Comment réagir face au Web-To-Print ?
Comment réagir face au Web-To-Print ?Comment réagir face au Web-To-Print ?
Comment réagir face au Web-To-Print ?
 

Ähnlich wie LibreOffice Conf 2011 Desktop Publishing

session5-Getting stated with Python.pdf
session5-Getting stated with Python.pdfsession5-Getting stated with Python.pdf
session5-Getting stated with Python.pdf
AyushDutta32
 
Python Programming Language
Python Programming LanguagePython Programming Language
Python Programming Language
Laxman Puri
 

Ähnlich wie LibreOffice Conf 2011 Desktop Publishing (20)

The Next Step of LibreOffice non-English Local Communities - LibreOffice Conf...
The Next Step of LibreOffice non-English Local Communities - LibreOffice Conf...The Next Step of LibreOffice non-English Local Communities - LibreOffice Conf...
The Next Step of LibreOffice non-English Local Communities - LibreOffice Conf...
 
libocon16_areafill
libocon16_areafilllibocon16_areafill
libocon16_areafill
 
Import filters for vector graphic formats in LibreOffice: the reverse- and st...
Import filters for vector graphic formats in LibreOffice: the reverse- and st...Import filters for vector graphic formats in LibreOffice: the reverse- and st...
Import filters for vector graphic formats in LibreOffice: the reverse- and st...
 
Open Source .NET
Open Source .NETOpen Source .NET
Open Source .NET
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
 
session5-Getting stated with Python.pdf
session5-Getting stated with Python.pdfsession5-Getting stated with Python.pdf
session5-Getting stated with Python.pdf
 
Python vs MATLAB: Which one is the best language
Python vs MATLAB:  Which one is the best languagePython vs MATLAB:  Which one is the best language
Python vs MATLAB: Which one is the best language
 
Python Programming Language
Python Programming LanguagePython Programming Language
Python Programming Language
 
Five python libraries should know for machine learning
Five python libraries should know for machine learningFive python libraries should know for machine learning
Five python libraries should know for machine learning
 
Which programming language should you learn next?
Which programming language should you learn next? Which programming language should you learn next?
Which programming language should you learn next?
 
Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”Thomas Phinney, “Fonts. Everything is Changing. Again.”
Thomas Phinney, “Fonts. Everything is Changing. Again.”
 
Translation ; Recent Information about LibreOffice
Translation ; Recent Information about LibreOfficeTranslation ; Recent Information about LibreOffice
Translation ; Recent Information about LibreOffice
 
Programming.language
Programming.languageProgramming.language
Programming.language
 
Vertical Writing: typical use-cases and current status in LibreOffice
Vertical Writing: typical use-cases and current status in LibreOfficeVertical Writing: typical use-cases and current status in LibreOffice
Vertical Writing: typical use-cases and current status in LibreOffice
 
Koffice for mobile productivity
Koffice for mobile productivityKoffice for mobile productivity
Koffice for mobile productivity
 
Programing paradigm & implementation
Programing paradigm & implementationPrograming paradigm & implementation
Programing paradigm & implementation
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
Key highlights from libreoffice conference 2014
Key highlights from libreoffice conference 2014Key highlights from libreoffice conference 2014
Key highlights from libreoffice conference 2014
 
AddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based ProgrammingAddisDev Meetup ii: Golang and Flow-based Programming
AddisDev Meetup ii: Golang and Flow-based Programming
 
Python intro
Python introPython intro
Python intro
 

Kürzlich hochgeladen

Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion pills in Kuwait Cytotec pills in Kuwait
 
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
wpkuukw
 
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
gajnagarg
 
poliovirus-190801072449. pptx
poliovirus-190801072449.            pptxpoliovirus-190801072449.            pptx
poliovirus-190801072449. pptx
ssuser0ad194
 
Q4-Trends-Networks-Module-3.pdfqquater days sheets123456789
Q4-Trends-Networks-Module-3.pdfqquater days sheets123456789Q4-Trends-Networks-Module-3.pdfqquater days sheets123456789
Q4-Trends-Networks-Module-3.pdfqquater days sheets123456789
CristineGraceAcuyan
 
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
eqaqen
 
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
nirzagarg
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
instagramfab782445
 
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
yhavx
 
怎样办理莫纳什大学毕业证(Monash毕业证书)成绩单留信认证
怎样办理莫纳什大学毕业证(Monash毕业证书)成绩单留信认证怎样办理莫纳什大学毕业证(Monash毕业证书)成绩单留信认证
怎样办理莫纳什大学毕业证(Monash毕业证书)成绩单留信认证
ehyxf
 
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
gajnagarg
 
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Nitya salvi
 
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
sriharipichandi
 

Kürzlich hochgeladen (20)

Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
 
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
一比一定(购)卡尔顿大学毕业证(CU毕业证)成绩单学位证
 
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Mysore [ 7014168258 ] Call Me For Genuine Models We...
 
Essential UI/UX Design Principles: A Comprehensive Guide
Essential UI/UX Design Principles: A Comprehensive GuideEssential UI/UX Design Principles: A Comprehensive Guide
Essential UI/UX Design Principles: A Comprehensive Guide
 
poliovirus-190801072449. pptx
poliovirus-190801072449.            pptxpoliovirus-190801072449.            pptx
poliovirus-190801072449. pptx
 
Q4-Trends-Networks-Module-3.pdfqquater days sheets123456789
Q4-Trends-Networks-Module-3.pdfqquater days sheets123456789Q4-Trends-Networks-Module-3.pdfqquater days sheets123456789
Q4-Trends-Networks-Module-3.pdfqquater days sheets123456789
 
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime PondicherryPondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
 
Gamestore case study UI UX by Amgad Ibrahim
Gamestore case study UI UX by Amgad IbrahimGamestore case study UI UX by Amgad Ibrahim
Gamestore case study UI UX by Amgad Ibrahim
 
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
 
BLOCK CHAIN PROJECT block chain project
BLOCK CHAIN  PROJECT block chain projectBLOCK CHAIN  PROJECT block chain project
BLOCK CHAIN PROJECT block chain project
 
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
Top profile Call Girls In Mau [ 7014168258 ] Call Me For Genuine Models We ar...
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
 
Eye-Catching Web Design Crafting User Interfaces .docx
Eye-Catching Web Design Crafting User Interfaces .docxEye-Catching Web Design Crafting User Interfaces .docx
Eye-Catching Web Design Crafting User Interfaces .docx
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
 
怎样办理莫纳什大学毕业证(Monash毕业证书)成绩单留信认证
怎样办理莫纳什大学毕业证(Monash毕业证书)成绩单留信认证怎样办理莫纳什大学毕业证(Monash毕业证书)成绩单留信认证
怎样办理莫纳什大学毕业证(Monash毕业证书)成绩单留信认证
 
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Meerut [ 7014168258 ] Call Me For Genuine Models We...
 
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
Call Girls In Ratnagiri Escorts ☎️8617370543 🔝 💃 Enjoy 24/7 Escort Service En...
 
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
 

LibreOffice Conf 2011 Desktop Publishing

  • 1. Towards Desktop Publishing László Németh FSF.hu Foundation, Hungary 1 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 2. In memoriam Keith Stribley (1976–2011) OpenOffice.org/LibreOffice developer 2 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 3. Why Desktop Publishing? Competitive feature MS Office 2010: a few optional OpenType features Niche in open source DTP Huge, mostly text documents Generated & structured documents (ODF) Answer for real problems i18n Unique in open source DTP (eg. Scribus is a page layout program without orphan/widow control). Attractive feature for professionals Better, than bad typography (WordArt/Fontwork) 3 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 4. Why Graphite? Smart font technology of LibreOffice (since OOo 3.2) Open standard with open source reference library (unlike Apple AAT) Answers for major and minor language related/typographical problems Graphite smart font logic in the font files, described in GDL language and compiled by the Graphite compiler (OpenType is not so general and more vendor specific) Languages (free SIL Graphite fonts): Burmese, Coptic, Ethiopic, Greek, Khmer etc. 4 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 5. Towards DTP Advanced fonts for DTP Fix Graphite integration Standardization DTP GUI PDF output for printing OpenType support Other LibreOffice developments Test examples Etc. (extended LibreOffice help) 5 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 6. Linux Libertine and Biolinum Developed by Philipp H. Poll since 2003 http://www.linuxlibertine.org More than 2000 glyphs Linux Libertine Modern baroque font face Regular, Italic, Bold, Semibold, Bold Italic Display: regular font variant for greater point size True small caps, superiors, old figures Linux Biolinum Humanist sans serif (modeled after Zapf's Optima) Regular, Bold, Italic, Bold Italic 6 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 7. Linux Libertine G and Linux Biolinum G Advanced fonts of LibreOffice Graphite port: kerning, features, anchors (OTF2GDL) Default ligatures, thousand separation, minus sign Optional true small caps, old figures, superiors, regular parentheses in Italic, Tex mode for math input Extended superiors for footnote texts etc. Usage: extended font names (or Graphite extensions) Fixes for bugs reported years ago Right aligned footnote numbering Footnote annotation: 1, 2, 3 . Native numbering (Chapter Two.), etc. 7 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 8. Example » Ligatures Letter replacements for better kerning & layout Living tradition in typography Linux Libertine: Unicode: ff, fi, fl, ffi, ffl, st, ff, fi, fl, ffi, ffl, ij, st Extra: c, fb, fh, ffh, fj, ffj, fk, ffk, Th, Q c, f, f, f, f, T, Q Extra ligatures of Linux Libertine G: gf, gfö, gfi, gj (frequent in Hungarian) g (Hungarian digraph – optional ligature) 8 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 9. Example » Number variants Old figures Proportional numbers Case variant for uppercase texts |0|1|2|3|4|5|6|7|8|9| 1945 to 2011 (default) |0|1|2|3|4|5|6|7|8|9| 1945 to 2011 (onum) |0|1|2|3|4|5|6|7|8|9| 1945 to 2011 (o+pnum) |0|1|2|3|4|5|6|7|8|9| 1945 to 2011 (pnum) |0|1|2|3|4|5|6|7|8|9| 1945 TO 2011 (CASE) 9 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 10. Example » True small caps Fix letter mixing and bad kerning with fake small caps True Small Caps True Small Caps True Small Caps True Small Caps 10 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 11. Optical weighting Three optical weights of Linux Libertine G (like expensive Adobe font families for InDesign) in the upcoming version of LibreOffice: Linux Libertine (for 8–16 pt) The quick brown fox jumps over the lazy dog. Linux Libertine Display (16 pt) The quick brown fox jumps over the lazy dog. Linux Libertine Caption (8 pt, with feature sups) The quick brown fox jumps over the lazy dog. 11 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 12. Optical weighting II Comparison of the letter k of these three weights Display Normal Caption (superior) 12 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 13. Example » Using styles for typography Fix fake footnote index numbers: Set “Linux Libertine G:sups=1&pnum=1” extended font name in the default character style “Footnote anchor” And set normal position 13 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 14. Optical margin Hanging punctuation (feature hang) hang=2 for automatic hyphen hang=1 for other (non-automatic) punctuation marks (experimental) For letters: initial Linux Libertine development 14 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 15. Combining diacritics Requirement of languages and scientific notations Letter + Unicode marks (U+300–U+36F), see input Anchoring: o͕ , g͕ Case variants: m, M ́ ́ Multiple combining diacritical marks: o,͓̾ O͔ ̿ Superiors: ḿẅ Small caps: ḿ͕ a̞̿ Kerning A͕̽V͔ A͓W, A͕ V͔ A͓W ̾ ̿ ̱́ ̽ ̾ ̿ ̞́ 15 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 16. Task » Fix Graphite integration GDL rules for line boundaries not supported (need for optical margin) New Graphite engine in LibO 3.4: Graphite 2 Missing space detection (need for Italic correction) Missing space replacement (for space variants in small caps, all caps and superiors) 16 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 17. Task » Standardization Recent usage in OpenOffice.org/LibreOffice: Extended font names, eg. Linux Libertine G with small caps, old figures and proportional numbers: Linux Libertine G:smcp=1&onum=1&pnum=1 Use font alternatives for better ODF compatibility: Linux Libertine G:onum=1;Linux Libertine G Proposal for adding Font Feature support to ODF by Keith Stribley & Martin Hosken 17 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 18. Task » DTP GUI Smart font GUI Recent tools: Graphite extension by Keith Stribley Typography toolbar DTP GUI for advanced text and paragraph settings Last line justification Microtypography “slider” Minimal difference in paragraph/text width can fix huge hyphenation/typographical problems of the paragraph 18 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 19. Task » OpenType support Via Graphite engine Run-time conversion of OpenType tables to GDL Run-time GDL compiling Using the same TrueType font with the new Graphite tables Tools: Fontforge/Graphite compiler/OTFGDL 19 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 20. Task » PDF for printing Industrial requirements Cropped and monochrome/CMYK PDFs Future options in PDF export Recent solution: post-processing of PDF Set cropping (CropBox) gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf -c .setpdfwrite -f doc.pdf pdfmark.txt Content of pdfmark.txt: % cropping box coordinates in pt (x1 y1 x2 y2), here 5 mm (A4) [/CropBox [14.17 14.17 581.1 827.72] /PAGES pdfmark Color conversion gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sColorConversionStrategy=CMYK -sOutputFile=doc_CMYK.pdf -dProcessColorModel=/DeviceCMYK -dCompatibilityLevel=1.4 doc.pdf gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -sOutputFile=doc_gray.pdf -dProcessColorModel=/DeviceGray -dCompatibilityLevel=1.4 doc.pdf 20 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 21. Task » Table styles ODF feature, missing in LibreOffice “Huge effort” to implement (OOo Issue 111121) Temporary solution: table style extension, using macros and autoformat styles Example: modify all tables by one of the autoformat styles: for i = 0 to ThisComponent.TextTables.Count ThisComponent.TextTables(i).autoFormat("Blue") next I 21 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 22. Other tasks Vertical alignment (OOo Issue 201386, 791877) Paragraph-level justification Hyphenation zone for left aligned texts Zone for automatic justification of the last line Better justification with letter scaling Kerning of the automatic hyphen mark Right aligned footnote numbering (recent solution: feature algn of Linux Libertine G) Separated columns of multiline titles and page numbers in TOC (MS Office: hidden feature by tabulator positions exceeding paragraph width) 22 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 23. Case studies Keith Humble: Earliest piano works Kiadványszerkesztés LibreOffice Writer szövegszerkesztővel Lively Alphabet Bible 23 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 24. An early adopter from Australia Edited by Kim Bastin, 2010 24 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 25. Editorial notes with Linux Libertine G Ligatures, old figures, true small caps and superiors 25 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 26. DTP with LibreOffice Writer Textbook & example 26 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 27. Page layout demo of the textbook 27 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 28. Extensive frame handling in LibreOffice 28 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 29. Lively Alphabet Open source coloring book http://www.numbertext.org/linux/Lively_Alphabet.pdf http://www.numbertext.org/linux/Lively_Alphabet.odp Demo of the new font size variant and SVG Linux Libertine Display High quality size variant For titles, business cards, children books SVG picture format W3C open standard High quality vector graphics in LibreOffice Use external vectorization (Inkscape/potrace) 29 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 30. 30 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 31. Typesetting Bible » Motivations Huge test document (Bible ~ books) Free text (except the recent revisions and new translations) Tradition Johannes Gutenberg (1455, 42-line Bible) Misztótfalusi Kis Miklós (1685, “Aranyos Biblia”) SIL International (Graphite font technology) Christian non-profit organization primary partner of Wycliffe Bible Translators Christian LibreOffice developers Golden rule & free software (see GNU manifesto) 31 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 32. Typesetting Bible » Methods HTML version of the Bible (Hungarian Károli) Unix command line: convert to a single HTML file cat `grep -o '[-a-z0-9]*/[a-z0-9]*.html' {o,uj}/index.html | sed 's/index.html:?//g;s/$/chap*/' > biblia.html Convert to OpenDocument using ODFpy library import re, sys from odf.opendocument import OpenDocumentText from odf.style import Style, TextProperties, ParagraphProperties, FontFace from odf.text import P, H, Span textdoc = OpenDocumentText() # Font textdoc.fontfacedecls.addElement((FontFace(name="Linux Libertine G", fontfamily="Linux Libertine G", fontfamilygeneric="roman",fontpitch="variable"))) textdoc.fontfacedecls.addElement((FontFace(name="Linux Libertine Display G", fontfamily="Linux Libertine Display G", fontfamilygeneric="roman",fontpitch="variable"))) textdoc.fontfacedecls.addElement((FontFace(name="sups", fontfamily="Linux Libertine G:sups=1", fontfamilygeneric="roman",fontpitch="variable"))) # Styles s = textdoc.styles StandardStyle = Style(name="Standard", family="paragraph") s.addElement(StandardStyle) TextBodyStyle = Style(name="Text_20_body",family="paragraph", parentstylename='Standard', displayname="Text body") TextBodyStyle.addElement(ParagraphProperties(margintop="0pt", 32 marginbottom="0pt", textalign="justify")) LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 33. Typesetting Bible » Results ~770 A4 pages (font size: 12 pt) PDF output: 5.7 Mb (conversion takes a few minutes) Catched and fixed bug: bad hyphenation of words with leading and trailing numbers (numbering of sentences of the Bible) Fixed by Hyphen 2.8.3 (hyphenation library of LibreOffice) 33 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 34. Example » Bible in LibreOffice 34 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 35. Desktop publishing in LibreOffice Optical weighting (Display) True small caps Ligatures Optical weighting (Caption) Language specific kerning Proportional numbers Hanging punctuation 35 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 36. Summary LibreOffice is a free DTP alternative with several advanced typographical features: High quality free font technology & fonts with true small caps, ligatures, old figures, optical weighting, and experimental optical margin alignment Styles, frames, macros, XML based open file format (ODF) for complex typesetting Excellent PDF and SVG support LibreOffice DTP project Fixes and enhancements with competitive features Documented case studies and real-world examples 36 LibreOffice Paris 2011 Conference – Towards Desktop Publishing
  • 37. Thank you for your attention! More information: http://www.numbertext.org/linux Main sponsor of Graphite porting of Libertine Open Fonts for LibreOffice: FSF.hu Foundation, Hungary 37 LibreOffice Paris 2011 Conference – Towards Desktop Publishing