Skip to content

Instantly share code, notes, and snippets.

@zed
Last active August 27, 2017 13:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zed/12b0f79d5fdcb3a42b74f807435cda3f to your computer and use it in GitHub Desktop.
Save zed/12b0f79d5fdcb3a42b74f807435cda3f to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Write Unicode text to a pdf file embedding font."""
from fpdf import FPDF # $ pip install fpdf
output_filename = 'unicode.pdf'
# http://unifoundry.com/pub/unifont-10.0.05/font-builds/unifont-10.0.05.ttf
font_path = 'unifont-10.0.05.ttf'
# https://helloworldcollection.github.io/#Human
# NOTE: what characters are supported depends on the font
text = u"""
Afrikaans Hallo, wêreld!
Albanian Pershëndetje Botë
Arabic أهلاً بالعالم (Ahlan bil 'Alam)
Armenian Բարե՛ւ, աշխարհ։ (barev ash'kharh)
Azeri Salam Dünya
Czech Ahoj Světe!
Basque/Euskara Kaixo mundua!
Belarusian Прывітанне свет (Pryvitannie sviet)
Bemba Shani Mwechalo!
Bengali Shagatam Prithivi!
Bosnian Zdravo Svijete!
Bulgarian Здравей, свят! (Zdrav'ei svi'at)
Cambodian ជំរាបសួរ ពិភពលោក (chomreabsuor piphoplok)
Catalan Hola món!
Chinese 你好世界 (nǐ hǎo shì jiè)
Cherokee ᎣᏏᏲ ᎡᎶᎯ (O-si-yo E-lo-hi)
Chinook Wawa Klahowya Hayas Klaska
Croatian Bok Svijete!
Danish Hej, Verden!
Dutch Hallo, wereld!
English Hello World! The quick brown fox jumps over the lazy dog gob YzAl ɘHT ᴙɘvo bɘqmUj xoꟻ ᴎwoᴙd kↄiUp ɘHT
Esperanto Saluton mondo!
Estonian Tere maailm!
Finnish Hei maailma!
French Salut le Monde!
Frisian Hallo, wrâld!
Galician Ola mundo!
German Hallo Welt!
Greek Γεια σου κόσμε! (Geia soy kosme)
Hawaiian Aloha Honua
Hebrew שלום עולם (Shalom Olam)
Hindi नमस्ते दुनिया (namaste duniya)
Hmong Nyob zoo ntiaj teb.
Hungarian Helló világ!
Icelandic Halló heimur!
Igbo Ndewo Ụwa
Indonesian Halo Dunia!
Irish Dia dhaoibh, a dhomhain!
Italian Ciao Mondo!
Japanese こんにちは、 世界! (konnichiwa sekai)
Kannada ಹಲೋ ವರ್ಲ್ಡ್ (Halō varlḍ)
Kiswahili Habari dunia!
Kikuyu Niatia thi!
Klingon nuqneH
Korean 반갑다 세상아 (bangabda, sesangah)
Lao ສະບາຍດີ,ໂລກ (sabaidi olk)
Latin AVE MVNDE (ave munde)
Latvian Sveika, Pasaule!
Lithuanian Sveikas, Pasauli
Luxembourgish Moien Welt!
Malagasy Manao ahoana ry tany!
Malayalam Namaskaram, lokame
Maltese Merhba lid-dinja
Norwegian Hallo verden!
Persian !سلام دنیا (Salaam Donyaa!)
Polish Witaj świecie!
Portuguese Olá, mundo!
Punjabi ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ ਦੁਨਿਆ (Sati srī akāla duni'ā)
Romanian Salut lume!
Russian Здравствуй, мир! (Zdra'vstvuj mi'r) В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!ъё
Serbian Zdravo Svete!
Slovak Ahoj, svet!
Slovenian Pozdravljen svet!
Spanish ¡Hola mundo!
Swedish Hejsan världen!
Tagalog Kamusta mundo!
Tamil ஹலோ உலகம் (Halō ulakam)
Telugu హలో వరల్డ్ (Halō varalḍ)
Thai สวัสดีโลก! (sawadee lok)
Turkish Merhaba Dünya!
Ukrainian Привiт, свiте! (Pryvi't svi'te)
Urdu ہیلو دنیا والو
Vietnamese Xin chào thế giới
Welsh S'mae byd!
Yiddish העלא וועלט (hela velt)
Zulu Sawubona Mhlaba
"""
pdf = FPDF()
pdf.add_page()
# http://pyfpdf.readthedocs.io/en/latest/Unicode/
# add unicode font (otherwise only latin-1 is supported)
font_family = 'family'
pdf.add_font(family=font_family, fname=font_path, uni=True)
pdf.set_font(family=font_family, size=12)
pdf.write(h=5, txt=text)
pdf.output(output_filename)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment