github.com/pdfcpu/pdfcpu@v0.11.1/pkg/api/test/createUserFont_test.go (about) 1 /* 2 Copyright 2020 The pdf Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package test 18 19 import ( 20 "path/filepath" 21 "testing" 22 23 "github.com/pdfcpu/pdfcpu/pkg/pdfcpu" 24 "github.com/pdfcpu/pdfcpu/pkg/pdfcpu/color" 25 "github.com/pdfcpu/pdfcpu/pkg/pdfcpu/draw" 26 "github.com/pdfcpu/pdfcpu/pkg/pdfcpu/model" 27 "github.com/pdfcpu/pdfcpu/pkg/pdfcpu/types" 28 ) 29 30 const ( 31 sampleArabic = `الإعلان العالمي لحقوق الإنسان 32 33 المادة 1. 34 يولد جميع الناس أحرارًا ومتساوين في الكرامة والحقوق. 35 وقد وهبوا عقلاً وضميرًا وعليهم أن يعامل بعضهم بعضًا بروح الإخاء. 36 37 المادة 2. 38 لكل فرد الحق في جميع الحقوق والحريات المنصوص عليها في هذا الإعلان ، دون تمييز من أي نوع ، 39 مثل العرق أو اللون أو الجنس أو اللغة أو الدين أو الرأي السياسي أو غير السياسي أو الأصل القومي أو الاجتماعي أو الملكية أو 40 ولادة أو حالة أخرى. علاوة على ذلك ، لا يجوز التمييز على أساس سياسي أو قضائي أو 41 الوضع الدولي للبلد أو الإقليم الذي ينتمي إليه الشخص ، سواء كان مستقلاً ، أو محل ثقة ، 42 غير متمتع بالحكم الذاتي أو تحت أي قيود أخرى على السيادة.` 43 44 sampleArmenian = `Մարդու իրավունքների համընդհանուր հռչակագիր 45 46 Հոդված 1. 47 Բոլոր մարդիկ ծնվում են ազատ և հավասար ՝ արժանապատվությամբ և իրավունքներով: 48 Նրանք օժտված են բանականությամբ և խղճով և պետք է եղբայրության ոգով գործեն միմյանց նկատմամբ: 49 50 Հոդված 2. 51 Յուրաքանչյուր ոք ունի սույն Հռչակագրում ամրագրված բոլոր իրավունքներն ու ազատությունները առանց որևէ տեսակի տարբերակման, 52 ինչպիսիք են ռասան, գույնը, սեռը, լեզուն, կրոնը, քաղաքական կամ այլ կարծիքը, ազգային կամ սոցիալական ծագումը, սեփականությունը, 53 ծնունդ կամ այլ կարգավիճակ: Ավելին, որևէ տարբերակում չի կարող դրվել քաղաքական, իրավասության կամ իրավունքի հիման վրա 54 երկրի կամ տարածքի միջազգային կարգավիճակը, որին պատկանում է անձը, անկախ այն լինելուց, վստահություն, 55 ոչ ինքնակառավարվող կամ ինքնիշխանության որևէ այլ սահմանափակման ներքո:` 56 57 sampleAzerbaijani = `Ümumdünya İnsan Haqları Bəyannaməsi 58 59 Maddə 1 60 Bütün insanlar azad və ləyaqət və hüquqlara bərabər olaraq doğulurlar. 61 Onlara ağıl və vicdan bəxş edilmişdir və bir-birlərinə qardaşlıq ruhunda davranmalıdırlar. 62 63 Maddə 2 64 Hər kəs bu Bəyannamədə göstərilən bütün hüquq və azadlıqlara, heç bir fərq qoymadan, 65 irqi, rəngi, cinsi, dili, dini, siyasi və ya digər fikri, milli və ya sosial mənşəyi, mülkiyyəti, 66 doğum və ya digər vəziyyət. Bundan əlavə, siyasi, yurisdiksiyalı və ya əsas götürülərək heç bir fərq qoyulmayacaqdır 67 bir şəxsin mənsub olduğu ölkənin və ya ərazinin beynəlxalq statusu, müstəqil, etibarlı, 68 özünüidarə etməmək və ya suverenliyin hər hansı digər məhdudiyyəti altında.` 69 70 sampleBangla = `মানবাধিকারের সর্বজনীন ঘোষণা: 71 72 অনুচ্ছেদ 1। 73 সমস্ত মানুষ মর্যাদা ও অধিকারে স্বাধীন ও সমান জন্মগ্রহণ করে। 74 এগুলি যুক্তি ও বিবেকের অধিকারী এবং ভ্রাতৃত্বের মনোভাবের সাথে একে অপরের প্রতি আচরণ করা উচিত। 75 76 অনুচ্ছেদ 2। 77 এই ঘোষণাপত্রে নির্ধারিত সমস্ত অধিকার এবং স্বাধীনতার জন্য প্রত্যেকেই অধিকারপ্রাপ্ত, 78 কোনও প্রকারভেদ ছাড়াই, যেমন জাতি, বর্ণ, লিঙ্গ, ভাষা, ধর্ম, রাজনৈতিক বা অন্যান্য মতামত, 79 জাতীয় বা সামাজিক উত্স, সম্পত্তি, জন্ম বা অন্য অবস্থা। তদুপরি, রাজনৈতিক, 80 এখতিয়ার বা ভিত্তিতে কোনও পার্থক্য করা হবে না একজন ব্যক্তি যার দেশ বা অঞ্চলে তার আন্তর্জাতিক 81 অবস্থান, এটি স্বাধীন, বিশ্বাস, স্ব-শাসন পরিচালনা বা সার্বভৌমত্বের অন্য কোনও সীমাবদ্ধতার অধীনে।` 82 83 sampleBelarusian = `УСЕАГУЛЬНАЯ ДЭКЛАРАЦЫЯ ПРАВОЎ ЧАЛАВЕКА 84 85 Артыкул 1. 86 Усе людзi нараджаюцца свабоднымi i роўнымi ў сваёй годнасцi i правах. Яны надзелены розумам i сумленнем i павiнны ставiцца 87 адзiн да аднаго ў духу брацтва. 88 89 Артыкул 2. 90 Кожны чалавек павiнен валодаць усiмi правамi i ўсiмi свабодамi, што абвешчаны гэтай Дэкларацыяй, без якога б там нi было адрознення, 91 як напрыклад у адносiнах расы, колеру скуры, полу, мовы, рэлiгii, палiтычных або iншых перакананняў, нацыянальнага або сацыяльнага 92 паходжання, маёмаснага, саслоўнага або iншага становiшча. 93 Апрача таго, не павiнна рабiцца нiякага адрознення на аснове палiтычнага, прававога або мiжнароднага статуса краiны або тэрыторыi, 94 да якой чалавек належыць, незалежна ад таго, цi з’яўляецца гэта тэрыторыя незалежнай, падапечнай, несамакiравальнай, 95 або як-небудзь iнакш абмежаванай у сваiм суверэнiтэце.` 96 97 sampleChineseSimple = `世界人权宣言 98 99 第一条 100 人人生而自由,在尊严和权利上一律平等。他们赋有理性和良心,并应以兄弟关系的精神相对待。 101 102 第二条 103 人人有资格享有本宣言所载的一切权利和自由,不分种族、肤色、性别、语言、宗教、政治或其他见解、国籍或社会出身、财产、出生或其他身分等任何区别。 104 105 并且不得因一人所属的国家或领土的政治的、行政的或者国际的地位之不同而有所区别,无论该领土是独立领土、托管领土、非自治领土或者处于其他任何主权受限制的情况之下。` 106 107 sampleChineseTraditional = `世界人權宣言 108 109 第一條 110 人人生而自由,在尊嚴和權利上一律平等。他們賦有理性和良心,並應以兄弟關係的精神相對待。 111 112 第二條 113 人人有資格享有本宣言所載的一切權利和自由,不分種族、膚色、性別、語言、宗教、政治或其他見解、國籍或社會出身、財產、出生或其他身分等任何區別。 114 115 並且不得因一人所屬的國家或領土的政治的、行政的或者國際的地位之不同而有所區別,無論該領土是獨立領土、託管領土、非自治領土或者處於其他任何主權受限制的情況之下。` 116 117 sampleEnglish = `Universal Declaration of Human Rights 118 119 Article 1. 120 All human beings are born free and equal in dignity and rights. 121 They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood. 122 123 Article 2. 124 Everyone is entitled to all the rights and freedoms set forth in this Declaration, without distinction of any kind, 125 such as race, colour, sex, language, religion, political or other opinion, national or social origin, property, 126 birth or other status. Furthermore, no distinction shall be made on the basis of the political, jurisdictional or 127 international status of the country or territory to which a person belongs, whether it be independent, trust, 128 non-self-governing or under any other limitation of sovereignty.` 129 130 sampleFrench = `Déclaration universelle des droits de l'Homme 131 132 Article 1. 133 Tous les êtres humains naissent libres et égaux en dignité et en droits. Ils sont doués de raison et de conscience et doivent agir les uns envers les autres 134 dans un esprit de fraternité. 135 136 Article 2. 137 Chacun peut se prévaloir de tous les droits et de toutes les libertés proclamés dans la présente Déclaration, sans distinction aucune, notamment de race, 138 de couleur, de sexe, de langue, de religion, d'opinion politique ou de toute autre opinion, d'origine nationale ou sociale, de fortune, de naissance ou de toute 139 autre situation. De plus, il ne sera fait aucune distinction fondée sur le statut politique, juridique ou international du pays ou du territoire dont une personne 140 est ressortissante, que ce pays ou territoire soit indépendant, sous tutelle, non autonome ou soumis à une limitation quelconque de souveraineté.` 141 142 sampleGerman = `Die Allgemeine Erklärung der Menschenrechte 143 144 Artikel 1. 145 Alle Menschen sind frei und gleich an Würde und Rechten geboren. 146 Sie sind mit Vernunft und Gewissen begabt und sollen einander im Geist der Brüderlichkeit begegnen. 147 148 Artikel 2. 149 Jeder hat Anspruch auf die in dieser Erklärung verkündeten Rechte und Freiheiten ohne irgendeinen Unterschied, 150 etwa nach Rasse, Hautfarbe, Geschlecht, Sprache, Religion, politischer oder sonstiger Überzeugung, nationaler 151 oder sozialer Herkunft, Vermögen, Geburt oder sonstigem Stand. 152 Des weiteren darf kein Unterschied gemacht werden auf Grund der politischen, rechtlichen oder internationalen 153 Stellung des Landes oder Gebiets, dem eine Person angehört, gleichgültig ob dieses unabhängig ist, unter Treuhandschaft steht, 154 keine Selbstregierung besitzt oder sonst in seiner Souveränität eingeschränkt ist.` 155 156 sampleGreek = `ΟΙΚΟΥΜΕΝΙΚΗ ΔΙΑΚΗΡΥΞΗ ΓΙΑ ΤΑ ΑΝΘΡΩΠΙΝΑ ΔΙΚΑΙΩΜΑΤΑ 157 158 ΑΡΘΡΟ 1 159 Ολοι οι άνθρωποι γεννιούνται ελεύθεροι και ίσοι στην αξιοπρέπεια και τα δικαιώματα. 160 Είναι προικισμένοι με λογική και συνείδηση, και οφείλουν να συμπεριφέρονται μεταξύ τους με πνεύμα αδελφοσύνης. 161 162 ΑΡΘΡΟ 2 163 Κάθε άνθρωπος δικαιούται να επικαλείται όλα τα δικαιώματα και όλες τις ελευθερίες που προκηρύσσει η παρούσα Διακήρυξη, 164 χωρίς καμία απολύτως διάκριση, ειδικότερα ως προς τη φυλή, το χρώμα, το φύλο, τη γλώσσα, τις θρησκείες, τις πολιτικές 165 ή οποιεσδήποτε άλλες πεποιθήσεις, την εθνική ή κοινωνική καταγωγή, την περιουσία, τη γέννηση ή οποιαδήποτε άλλη κατάσταση.` 166 167 sampleHebrew = `הצהרה האוניברסלית של זכויות האדם 168 169 מאמר 1. 170 כל בני האדם נולדים חופשיים ושווים בכבודם ובזכויותיהם. 171 הם ניחנים בתבונה ובמצפון ועליהם לפעול זה כלפי זה ברוח אחווה. 172 173 סעיף 2. 174 כל אחד זכאי לכל הזכויות והחירויות המופיעות בהצהרה זו, ללא הבחנה מכל סוג שהוא, 175 כגון גזע, צבע, מין, שפה, דת, דעה פוליטית או אחרת, מקור לאומי או חברתי, רכוש, 176 לידה או מעמד אחר. יתר על כן, לא תיעשה הבחנה על בסיס הפוליטי, השיפוט או 177 מעמד בינלאומי של המדינה או השטח שאדם משתייך אליו, בין אם זה עצמאי, אמון, 178 לא ממשל עצמי או תחת כל מגבלה אחרת של ריבונות.` 179 180 sampleHindi = `मानव अधिकारों की सार्वभौम घोषणा 181 182 लेख 1। 183 सभी मनुष्यों का जन्म स्वतंत्र और समान सम्मान और अधिकार में हुआ है। 184 वे तर्क और विवेक के साथ संपन्न होते हैं और भाईचारे की भावना से एक दूसरे के प्रति कार्य करना चाहिए। 185 186 अनुच्छेद 2। 187 हर कोई इस घोषणा में उल्लिखित सभी अधिकारों और स्वतंत्रता का हकदार है, किसी भी प्रकार का भेद किए बिना, 188 जैसे कि जाति, रंग, लिंग, भाषा, धर्म, राजनीतिक या अन्य मत, राष्ट्रीय या सामाजिक मूल, संपत्ति, 189 जन्म या अन्य स्थिति। इसके अलावा, राजनीतिक, अधिकार क्षेत्र या के आधार पर कोई भेद नहीं किया जाएगा 190 देश या क्षेत्र की अंतर्राष्ट्रीय स्थिति, जो किसी व्यक्ति की है, चाहे वह स्वतंत्र हो, भरोसा हो, 191 स्व-शासन या संप्रभुता के किसी अन्य सीमा के तहत।` 192 193 sampleHungarian = `Az Emberi Jogok Egyetemes Nyilatkozata 194 195 1. cikk 196 Minden. emberi lény szabadon születik és egyenlő méltósága és joga van. Az emberek, ésszel és lelkiismerettel bírván, 197 egymással szemben testvéri szellemben kell hogy viseltessenek. 198 199 2. cikk 200 Mindenki, bármely megkülönböztetésre, nevezetesen fajra, színre, nemre, nyelvre, vallásra, politikai vagy bármely 201 más véleményre, nemzeti vagy társadalmi eredetre, vagyonra, születésre, vagy bármely más körülményre való tekintet 202 nélkül hivatkozhat a jelen Nyilatkozatban kinyilvánított összes jogokra és szabadságokra. 203 Ezenfelül nem lehet semmiféle megkülönböztetést tenni annak az országnak, vagy területnek politikai, jogi vagy 204 nemzetközi helyzete alapján sem, amelynek a személy állampolgára, aszerint, hogy az illető ország vagy terület független, 205 gyámság alatt áll, nem autonóm vagy szuverenitása bármely vonatkozásban korlátozott.` 206 207 sampleIndonesian = `Pernyataan Umum tentang Hak-Hak Asasi Manusia 208 209 Pasal 1 210 Semua orang dilahirkan merdeka dan mempunyai martabat dan hak-hak yang sama. 211 Mereka dikaruniai akal dan hati nurani dan hendaknya bergaul satu sama lain dalam semangat persaudaraan. 212 213 Pasal 2 214 Setiap orang berhak atas semua hak dan kebebasan-kebebasan yang tercantum di dalam Pernyataan ini tanpa perkecualian apapun, 215 seperti ras, warna kulit, jenis kelamin, bahasa, agama, politik atau pendapat yang berlainan, asal mula kebangsaan atau 216 kemasyarakatan, hak milik, kelahiran ataupun kedudukan lain. 217 Di samping itu, tidak diperbolehkan melakukan perbedaan atas dasar kedudukan politik, hukum atau kedudukan internasional 218 dari negara atau daerah dari mana seseorang berasal, baik dari negara yang merdeka, yang berbentuk wilayah-wilayah perwalian, 219 jajahan atau yang berada di bawah batasan kedaulatan yang lain.` 220 221 sampleItalian = `DICHIARAZIONE UNIVERSALE DEI DIRITTI UMANI 222 223 Articolo 1 224 Tutti gli esseri umani nascono liberi ed eguali in dignità e diritti. 225 Essi sono dotati di ragione e di coscienza e devono agire gli uni verso gli altri in spirito di fratellanza. 226 227 Articolo 2 228 Ad ogni individuo spettano tutti i diritti e tutte le libertà enunciate nella presente Dichiarazione, 229 senza distinzione alcuna, per ragioni di razza, di colore, di sesso, di lingua, di religione, 230 di opinione politica o di altro genere, di origine nazionale o sociale, di ricchezza, di nascita o di altra condizione. 231 Nessuna distinzione sarà inoltre stabilita sulla base dello statuto politico, giuridico o internazionale del paese 232 o del territorio cui una persona appartiene, sia indipendente, o sottoposto ad amministrazione fiduciaria o non autonomo, 233 o soggetto a qualsiasi limitazione di sovranità.` 234 235 sampleJapanese = `『世界人権宣言』 236 237 第1条 238 239 すべての人間は、生まれながらにして自由であり、かつ、尊厳と権利と について平等である。人間は、理性と良心とを授けられており、互いに同 胞の精神をもって行動しなければならない。 240 241 第2条 242 243 すべて人は、人種、皮膚の色、性、言語、宗教、政治上その他の意見、 244 国民的もしくは社会的出身、財産、門地その他の地位又はこれに類するい 245 かなる自由による差別をも受けることなく、この宣言に掲げるすべての権 246 利と自由とを享有することができる。 247 248 さらに、個人の属する国又は地域が独立国であると、信託統治地域で 249 あると、非自治地域であると、又は他のなんらかの主権制限の下にあると 250 を問わず、その国又は地域の政治上、管轄上又は国際上の地位に基ずくい 251 かなる差別もしてはならない。` 252 253 sampleKorean = `세 계 인 권 선 언 254 255 제 1 조 256 모든 인간은 태어날 때부터 자유로우며 그 존엄과 권리에 있어 동등하다. 인간은 천부적으로 이성과 양심을 부여받았으며 서로 형제애의 정신으로 행동하여야 한다. 257 258 제 2 조 259 모든 사람은 인종, 피부색, 성, 언어, 종교, 정치적 또는 기타의 견해, 민족적 또는 사회적 출신, 재산, 출생 또는 기타의 신분과 같은 어떠한 종류의 차별이 없이, 260 이 선언에 규정된 모든 권리와 자유를 향유할 자격이 있다 . 더 나아가 개인이 속한 국가 또는 영토가 독립국 , 신탁통치지역 , 비자치지역이거나 또는 주권에 대한 여타의 제약을 받느냐에 관계없이 , 261 그 국가 또는 영토의 정치적, 법적 또는 국제적 지위에 근거하여 차별이 있어서는 아니된다 .` 262 263 sampleMarathi = `मानवाधिकारांची सार्वत्रिक घोषणा 264 265 अनुच्छेद १. 266 सर्व मानव स्वतंत्र आणि समान सन्मान आणि अधिकारात जन्माला येतात. ते तर्क आणि विवेकबुद्धीने संपन्न आहेत आणि त्यांनी बंधुत्वाच्या भावनेने एकमेकांशी वागले पाहिजे. 267 268 अनुच्छेद २. 269 या घोषणेमध्ये वंश, रंग, लिंग, भाषा, धर्म, राजकीय किंवा अन्य मत, राष्ट्रीय किंवा सामाजिक मूळ, मालमत्ता, जन्म किंवा इतर कोणत्याही प्रकारचे भेद न 270 करता प्रत्येकजण या घोषणेत नमूद केलेले सर्व अधिकार आणि स्वातंत्र्य मिळविण्यास पात्र आहे. इतर स्थिती. याव्यतिरिक्त, एखादा देश ज्याच्या ताब्यात आहे तो 271 देशाच्या राजकीय, कार्यकक्षात्मक किंवा आंतरराष्ट्रीय दर्जाच्या आधारे कोणताही भेदभाव केला जाणार नाही, तो स्वतंत्र, विश्वास असो, स्वराज्य असो किंवा 272 सार्वभौमत्वाच्या कोणत्याही अन्य मर्यादेखाली असो.` 273 274 samplePersian = `اعلامیه جهانی حقوق بشر 275 276 مقاله 1. 277 همه انسانها آزاد و از نظر کرامت و حقوق برابر به دنیا می آیند. 278 آنها از عقل و وجدان برخوردارند و باید با روحیه برادری نسبت به یکدیگر رفتار کنند. 279 280 ماده 2 281 هر کس بدون هیچ گونه تمایزی از کلیه حقوق و آزادی های مندرج در این بیانیه برخوردار است ، 282 مانند نژاد ، رنگ ، جنس ، زبان ، مذهب ، عقاید سیاسی یا عقاید دیگر ، منشا national ملی یا اجتماعی ، دارایی ، 283 تولد یا وضعیت دیگر بعلاوه ، هیچ تفکیکی نباید بر اساس حوزه های سیاسی ، قضایی یا قضایی قائل شود 284 وضعیت بین المللی کشور یا سرزمینی که شخص به آن تعلق دارد ، خواه استقلال باشد ، 285 غیر خود حاکم یا تحت هر محدودیت دیگری در حاکمیت.` 286 287 samplePolish = `POWSZECHNA DEKLARACJA PRAW CZŁOWIEKA 288 289 Artykuł 1 290 Wszyscy ludzie rodzą się wolni i równi pod względem swej godności i swych praw. Są oni obdarzeni rozumem i sumieniem 291 i powinni postępować wobec innych w duchu braterstwa. 292 293 Artykuł 2 294 Każdy człowiek posiada wszystkie prawa i wolności zawarte w niniejszej Deklaracji bez względu na jakiekolwiek różnice rasy, 295 koloru, płci, języka, wyznania, poglądów politycznych i innych, narodowości, pochodzenia społecznego, majątku, 296 urodzenia lub jakiegokolwiek innego stanu. 297 Nie wolno ponadto czynić żadnej różnicy w zależności od sytuacji politycznej, prawnej lub międzynarodowej kraju lub obszaru, 298 do którego dana osoba przynależy, bez względu na to, czy dany kraj lub obszar jest niepodległy, czy też podlega systemowi 299 powiernictwa, nie rządzi się samodzielnie lub jest w jakikolwiek sposób ograniczony w swej niepodległości.` 300 301 samplePortuguese = `Declaração Universal dos Direitos Humanos 302 303 Artigo 1° 304 Todos os seres humanos nascem livres e iguais em dignidade e em direitos. Dotados de razão e de consciência, 305 devem agir uns para com os outros em espírito de fraternidade. 306 307 Artigo 2° 308 Todos os seres humanos podem invocar os direitos e as liberdades proclamados na presente Declaração, 309 sem distinção alguma, nomeadamente de raça, de cor, de sexo, de língua, de religião, de opinião política ou outra, 310 de origem nacional ou social, de fortuna, de nascimento ou de qualquer outra situação. 311 Além disso, não será feita nenhuma distinção fundada no estatuto político, jurídico ou internacional do país ou do 312 território da naturalidade da pessoa, seja esse país ou território independente, sob tutela, autônomo ou sujeito 313 a alguma limitação de soberania.` 314 315 sampleRussian = `Всеобщая декларация прав человека 316 317 Статья 1 318 Все люди рождаются свободными и равными в своем достоинстве и правах. 319 Они наделены разумом и совестью и должны поступать в отношении друг друга в духе братства. 320 321 Статья 2 322 Каждый человек должен обладать всеми правами и всеми свободами, провозглашенными настоящей 323 Декларацией, без какого бы то ни было различия, как-то в отношении расы, цвета кожи, пола, 324 языка, религии, политических или иных убеждений, национального или социального происхождения, 325 имущественного, сословного или иного положения. 326 Кроме того, не должно проводиться никакого различия на основе политического, правового или 327 международного статуса страны или территории, к которой человек принадлежит, независимо от того, 328 является ли эта территория независимой, подопечной, несамоуправляющейся или как-либо иначе 329 ограниченной в своем суверенитете.` 330 331 sampleSpanish = `Declaración Universal de Derechos Humanos 332 333 Artículo 1. 334 Todos los seres humanos nacen libres e iguales en dignidad y derechos y, dotados como están de razón y conciencia, 335 deben comportarse fraternalmente los unos con los otros. 336 337 Artículo 2. 338 Toda persona tiene los derechos y libertades proclamados en esta Declaración, sin distinción alguna de raza, color, 339 sexo, idioma, religión, opinión política o de cualquier otra índole, origen nacional o social, posición económica, 340 nacimiento o cualquier otra condición. Además, no se hará distinción alguna fundada en la condición política,jurídica 341 o internacional del país o territorio de cuya jurisdicción dependa una persona, tanto si se trata de un país independiente, 342 como de un territorio bajo administración fiduciaria, no autónomo o sometido a cualquier otra limitación de soberanía.` 343 344 sampleSwahili = `UMOJA WA MATAIFA OFISI YA IDARA YA HABARI TAARIFA YA ULIMWENGU JUU YA HAKI ZA BINADAMU 345 346 Kifungu cha 1. 347 Watu wote wamezaliwa huru, hadhi na haki zao ni sawa. Wote wamejaliwa akili na dhamiri, hivyo yapasa watendeane kindugu. 348 349 Kifungu cha 2. 350 Kila mtu anastahili kuwa na haki zote na uhuru wote ambao umeelezwa katika Taarifa hii bila ubaguzi wo wote. Yaani bila kubaguana kwa rangi, 351 taifa, wanaume kwa wanawake, dini, siasa, fikara, asili ya taifa la mtu, mali, kwa kizazi au kwa hali nyingine yo yote. 352 Juu ya hayo usifanye ubaguzi kwa kutegemea siasa, utawala au kwa kutegemea uhusiano wa nchi fulani na mataifa mengine au nchi ya asili ya mtu, 353 haidhuru nchi hiyo iwe inayojitawala, ya udhamini, isiyojitawala au inayotawaliwa na nchi nyingine kwa hali ya namna yo yote.` 354 355 sampleSwedish = `ALLMÄN FÖRKLARING OM DE MÄNSKLIGA RÄTTIGHETERNA 356 357 Artikel 1. 358 Alla människor äro födda fria och lika i värde och rättigheter. 359 De äro utrustade med förnuft och samvete och böra handla gentemot varandra i en anda av broderskap. 360 361 Artikel 2. 362 Envar är berättigad till alla de fri- och rättigheter, som uttalas i denna förklaring, utan åtskillnad av något slag, 363 såsom ras, hudfärg, kön, språk, religion, politisk eller annan uppfattning, nationellt eller socialt ursprung, 364 egendom, börd eller ställning i övrigt. 365 Ingen åtskillnad må vidare göras på grund av den politiska, juridiska eller internationella ställning, som intages 366 v det land eller område, till vilket en person hör, vare sig detta land eller område är oberoende, står under 367 förvaltarskap, är icke-självstyrande eller är underkastat någon annan begränsning av sin suveränitet.` 368 369 sampleThai = `ปฏิญญาสากลว่าด้วยสิทธิมนุษยชน 370 371 หัวข้อที่ 1. 372 มนุษย์ทุกคนเกิดมาโดยเสรีและเท่าเทียมกันในศักดิ์ศรีและสิทธิ 373 พวกเขากอปรด้วยเหตุผลและมโนธรรมและควรปฏิบัติต่อกันด้วยจิตวิญญาณแห่งความเป็นพี่น้องกัน 374 375 ข้อ 2. 376 ทุกคนมีสิทธิได้รับสิทธิและเสรีภาพทั้งหมดที่กำหนดไว้ในปฏิญญานี้โดยไม่มีความแตกต่างใด ๆ 377 เช่นเชื้อชาติสีผิวเพศภาษาศาสนาความคิดเห็นทางการเมืองหรืออื่น ๆ ชาติกำเนิดหรือสังคมทรัพย์สิน 378 การเกิดหรือสถานะอื่น ๆ นอกจากนี้จะไม่มีการสร้างความแตกต่างใด ๆ บนพื้นฐานของการเมืองเขตอำนาจศาลหรือ 379 สถานะระหว่างประเทศของประเทศหรือดินแดนที่บุคคลเป็นอยู่ไม่ว่าจะเป็นอิสระความไว้วางใจ 380 ไม่ปกครองตนเองหรืออยู่ภายใต้ข้อ จำกัด อื่นใดของอำนาจอธิปไตย` 381 382 sampleTurkish = `İnsan hakları evrensel beyannamesi 383 384 Madde 1 385 Bütün insanlar hür, haysiyet ve haklar bakımından eşit doğarlar. 386 Akıl ve vicdana sahiptirler ve birbirlerine karşı kardeşlik zihniyeti ile hareket etmelidirler. 387 388 Madde 2 389 Herkes, ırk, renk, cinsiyet, dil, din, siyasi veya diğer herhangi bir akide, milli veya içtimai menşe, 390 servet, doğuş veya herhangi diğer bir fark gözetilmeksizin işbu Beyannamede ilan olunan tekmil haklardan 391 ve bütün hürriyetlerden istifade edebilir. 392 Bundan başka, bağımsız memleket uyruğu olsun, vesayet altında bulunan, gayri muhtar veya sair bir egemenlik 393 kayıtlamasına tabi ülke uyruğu olsun, bir şahıs hakkında, uyruğu bulunduğu memleket veya ülkenin siyasi, 394 hukuki veya milletlerarası statüsü bakımından hiçbir ayrılık gözetilmeyecektir.` 395 396 sampleUrdu = `انسانی حقوق کا عالمی اعلان 397 398 آرٹیکل 1۔ 399 تمام انسان وقار اور حقوق میں آزاد اور برابر پیدا ہوئے ہیں۔ 400 وہ استدلال اور ضمیر کے مالک ہیں اور بھائی چارے کے جذبے سے ایک دوسرے کے ساتھ کام کریں۔ 401 402 آرٹیکل 2۔ 403 ہر شخص کسی بھی طرح کے امتیاز کے بغیر ، اس اعلامیے میں بیان کردہ تمام حقوق اور آزادی کا حقدار ہے ، 404 جیسے نسل ، رنگ ، جنس ، زبان ، مذہب ، سیاسی یا دوسری رائے ، قومی یا معاشرتی اصل ، املاک ، 405 پیدائش یا دوسری حیثیت مزید برآں ، سیاسی ، دائرہ اختیار یا کی بنیاد پر کوئی امتیاز نہیں برپا کیا جائے گا 406 ملک یا علاقے کی بین الاقوامی حیثیت جس سے کسی شخص کا تعلق ہے ، خواہ وہ آزاد ہو ، اعتماد ، 407 غیر خود حکمرانی یا خود مختاری کی کسی بھی دوسری حد کے تحت۔` 408 409 sampleVietnamese = `Tuyên ngôn nhân quyền 410 411 Điều 1. 412 Tất cả con người sinh ra đều tự do, bình đẳng về nhân phẩm và quyền. 413 Họ được phú cho lý trí và lương tâm và nên hành động với nhau trong tinh thần anh em. 414 415 Điều 2. 416 Mọi người được hưởng tất cả các quyền và tự do được nêu trong Tuyên bố này, không phân biệt bất kỳ 417 hình thức nào, chẳng hạn như chủng tộc, màu da, giới tính, ngôn ngữ, tôn giáo, chính trị hoặc quan 418 điểm khác, nguồn gốc quốc gia hoặc xã hội, tài sản, nơi sinh hoặc trạng thái khác. 419 Hơn nữa, không có sự phân biệt nào được thực hiện trên cơ sở địa vị chính trị, quyền tài phán hoặc 420 quốc tế của quốc gia hoặc vùng lãnh thổ mà một người thuộc về, cho dù đó là quốc gia độc lập, 421 tin cậy, không tự quản hay theo bất kỳ giới hạn chủ quyền nào khác.` 422 ) 423 424 type sample struct { 425 fontName string 426 lang string 427 text string 428 rtl bool 429 } 430 431 var langSamples = []sample{ 432 {"UnifontMedium", "Arabic", sampleArabic, true}, 433 {"UnifontMedium", "Armenian", sampleArmenian, false}, 434 {"Roboto-Regular", "Azerbaijani", sampleAzerbaijani, false}, 435 {"UnifontMedium", "Bangla", sampleBangla, false}, 436 {"Roboto-Regular", "Belarusian", sampleBelarusian, false}, 437 {"UnifontMedium", "Chinese simple", sampleChineseSimple, false}, 438 {"UnifontMedium", "Chinese traditional", sampleChineseTraditional, false}, 439 {"Roboto-Regular", "English", sampleEnglish, false}, 440 {"Roboto-Regular", "French", sampleFrench, false}, 441 {"Roboto-Regular", "German", sampleGerman, false}, 442 {"Roboto-Regular", "Greek", sampleGreek, false}, 443 {"UnifontMedium", "Hebrew", sampleHebrew, true}, 444 {"UnifontMedium", "Hindi", sampleHindi, false}, 445 {"Roboto-Regular", "Hungarian", sampleHungarian, false}, 446 {"Roboto-Regular", "Indonesian", sampleIndonesian, false}, 447 {"Roboto-Regular", "Italian", sampleItalian, false}, 448 {"Unifont-JPMedium", "Japanese", sampleJapanese, false}, 449 {"UnifontMedium", "Korean", sampleKorean, false}, 450 {"UnifontMedium", "Marathi", sampleMarathi, false}, 451 {"UnifontMedium", "Persian", samplePersian, true}, 452 {"Roboto-Regular", "Portuguese", samplePortuguese, false}, 453 {"Roboto-Regular", "Polish", samplePolish, false}, 454 {"Roboto-Regular", "Russian", sampleRussian, false}, 455 {"Roboto-Regular", "Spanish", sampleSpanish, false}, 456 {"Roboto-Regular", "Swahili", sampleSwahili, false}, 457 {"Roboto-Regular", "Swedish", sampleSwedish, false}, 458 {"UnifontMedium", "Thai", sampleThai, false}, 459 {"Roboto-Regular", "Turkish", sampleTurkish, false}, 460 {"UnifontMedium", "Urdu", sampleUrdu, true}, 461 {"Roboto-Regular", "Vietnamese", sampleVietnamese, false}, 462 } 463 464 func renderArticle(xRefTable *model.XRefTable, p model.Page, row, col, lang int) { 465 mediaBox := p.MediaBox 466 w := mediaBox.Width() / 6 467 h := mediaBox.Height() / 5 468 region := types.RectForWidthAndHeight(float64(col)*w, float64(4-row)*h, w, h) 469 buf := p.Buf 470 sample := langSamples[lang] 471 472 if lang%2 > 0 { 473 draw.FillRectNoBorder(buf, region, color.SimpleColor{R: .75, G: .75, B: 1}) 474 } 475 476 fontName := "Helvetica" 477 k := p.Fm.EnsureKey("Helvetica") 478 479 td := model.TextDescriptor{ 480 Text: sample.lang, 481 FontName: fontName, 482 FontKey: k, 483 FontSize: 24, 484 MLeft: 5, 485 MRight: 5, 486 MTop: 5, 487 MBot: 5, 488 Scale: 1., 489 ScaleAbs: false, 490 HAlign: types.AlignLeft, 491 VAlign: types.AlignMiddle, 492 RMode: draw.RMFill, 493 StrokeCol: color.NewSimpleColor(0x206A29), 494 FillCol: color.NewSimpleColor(0x206A29), 495 ShowBackground: true, 496 BackgroundCol: color.SimpleColor{R: 1., G: .98, B: .77}, 497 ShowBorder: true, 498 ShowLineBB: false, 499 ShowTextBB: true, 500 HairCross: false, 501 } 502 503 model.WriteColumnAnchored(xRefTable, buf, mediaBox, region, td, types.TopLeft, 0) 504 505 fontName = sample.fontName 506 k = p.Fm.EnsureKey(fontName) 507 508 td = model.TextDescriptor{ 509 Text: sample.text, 510 FontName: fontName, 511 Embed: true, 512 RTL: sample.rtl, 513 FontKey: k, 514 FontSize: 16, 515 MLeft: 5, 516 MRight: 5, 517 MTop: 5, 518 MBot: 5, 519 X: -1, 520 Y: -1, 521 Scale: .9, 522 ScaleAbs: false, 523 HAlign: types.AlignJustify, 524 VAlign: types.AlignMiddle, 525 RMode: draw.RMFill, 526 StrokeCol: color.NewSimpleColor(0x206A29), 527 FillCol: color.NewSimpleColor(0x206A29), 528 ShowBackground: true, 529 BackgroundCol: color.SimpleColor{R: 1., G: .98, B: .77}, 530 ShowBorder: true, 531 ShowLineBB: false, 532 ShowTextBB: false, 533 HairCross: false, 534 } 535 536 if sample.lang == "Japanese" { 537 model.WriteColumn(xRefTable, buf, mediaBox, region, td, mediaBox.Width()*.9) 538 return 539 } 540 541 if sample.lang == "Thai" { 542 td.HAlign = types.AlignLeft 543 model.WriteColumn(xRefTable, buf, mediaBox, region, td, mediaBox.Width()*.9) 544 return 545 } 546 547 model.WriteMultiLine(xRefTable, buf, mediaBox, region, td) 548 } 549 550 func TestUserFonts(t *testing.T) { 551 msg := "TestUserFonts" 552 553 w, h := 600., 600. 554 mediaBox := types.RectForDim(w, h) 555 p := model.NewPageWithBg(mediaBox, color.NewSimpleColor(0xbeded9)) 556 557 xRefTable, err := pdfcpu.CreateDemoXRef() 558 if err != nil { 559 t.Fatalf("%s: %v\n", msg, err) 560 } 561 562 lang := 0 563 for row := 0; row < 5; row++ { 564 for col := 0; col < 6; col++ { 565 renderArticle(xRefTable, p, row, col, lang) 566 lang++ 567 } 568 } 569 570 rootDict, err := xRefTable.Catalog() 571 if err != nil { 572 t.Fatalf("%s: %v\n", msg, err) 573 } 574 if err = pdfcpu.AddPageTreeWithSamplePage(xRefTable, rootDict, p); err != nil { 575 t.Fatalf("%s: %v\n", msg, err) 576 } 577 outDir := filepath.Join("..", "..", "samples", "basic") 578 outFile := filepath.Join(outDir, "UserFont_HumanRights.pdf") 579 createAndValidate(t, xRefTable, outFile, msg) 580 }