SlideShare a Scribd company logo
1 of 37
Download to read offline
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

More Related Content

Viewers also liked

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'integrationCommunication Intégrée
 
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-2011Adrien Leygues
 
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 CreatorLayar
 
Où va l'imprimerie ?
Où va l'imprimerie ?Où va l'imprimerie ?
Où va l'imprimerie ?Ludovic Martin
 
Desktop Publishing - Study Plan Tutorial
Desktop Publishing - Study Plan TutorialDesktop Publishing - Study Plan Tutorial
Desktop Publishing - Study Plan TutorialWisnu Chandra
 
Desktop Publishing
Desktop PublishingDesktop Publishing
Desktop Publishingbjoe777
 
Desktop publishing (power point)
Desktop publishing (power point)Desktop publishing (power point)
Desktop publishing (power point)kuromi12
 
Transform Your Marketing
Transform Your MarketingTransform Your Marketing
Transform Your MarketingHubSpot
 
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 ?Exaprint
 

Viewers also liked (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 ?
 

Similar to LibreOffice Conf 2011 Desktop Publishing

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...Naruhiko Ogasawara
 
libocon16_areafill
libocon16_areafilllibocon16_areafill
libocon16_areafillHeiko Tietze
 
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...lgworld
 
Open Source .NET
Open Source .NETOpen Source .NET
Open Source .NETOnyxfish
 
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_vfinalProf. Wim Van Criekinge
 
session5-Getting stated with Python.pdf
session5-Getting stated with Python.pdfsession5-Getting stated with Python.pdf
session5-Getting stated with Python.pdfAyushDutta32
 
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 languageStat Analytica
 
Python Programming Language
Python Programming LanguagePython Programming Language
Python Programming LanguageLaxman Puri
 
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 learningNaveen Davis
 
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? Ganesh Samarthyam
 
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.”WebVisions
 
Translation ; Recent Information about LibreOffice
Translation ; Recent Information about LibreOfficeTranslation ; Recent Information about LibreOffice
Translation ; Recent Information about LibreOfficeMasataka Kondo
 
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 LibreOfficeNaruhiko Ogasawara
 
Programing paradigm & implementation
Programing paradigm & implementationPrograming paradigm & implementation
Programing paradigm & implementationBilal Maqbool ツ
 
Key highlights from libreoffice conference 2014
Key highlights from libreoffice conference 2014Key highlights from libreoffice conference 2014
Key highlights from libreoffice conference 2014Sushil Shinde
 
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 ProgrammingSamuel Lampa
 
Python intro
Python introPython intro
Python introrik0
 

Similar to 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
 

Recently uploaded

How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Websitemark11275
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja Nehwal
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证eeanqy
 
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...karishmasinghjnh
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...amitlee9823
 
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service AvailableCall Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service AvailableNitya salvi
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024Ilham Brata
 
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Nitya salvi
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfamanda2495
 
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.pptxbingyichin04
 
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...amitlee9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...Delhi Call girls
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdftbatkhuu1
 
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best ServiceHigh Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation decktbatkhuu1
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

How to Build a Simple Shopify Website
How to Build a Simple Shopify WebsiteHow to Build a Simple Shopify Website
How to Build a Simple Shopify Website
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
 
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
👉 Call Girls Service Amritsar 👉📞 6367187148 👉📞 Just📲 Call Ruhi Call Girl Agen...
 
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service AvailableCall Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
Call Girls Jalgaon Just Call 8617370543Top Class Call Girl Service Available
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024
 
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
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
 
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men  🔝Bokaro🔝   Escorts S...
➥🔝 7737669865 🔝▻ Bokaro Call-girls in Women Seeking Men 🔝Bokaro🔝 Escorts S...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
 
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best ServiceHigh Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
High Profile Escorts Nerul WhatsApp +91-9930687706, Best Service
 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation deck
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
 

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