Pango: Internationalized Text Handling

Total Page:16

File Type:pdf, Size:1020Kb

Pango: Internationalized Text Handling Pango: internationalized text handling Owen Taylor Red Hat, Inc. [email protected], http://people.redhat.com/otaylor Abstract he said: GO TO 123 MAPLE STREET Text in memory he said: TEERTS ELPAM 123 OT OG Text as displayed 1: left-to-right 2: right-to-left Pango is a library for laying out and displaying 3: left-to-right internationalized text. It handles almost every writing system in the world, and can work on top Figure 1: Transformations while displaying of multiple different display systems - including complex-text languages traditional X fonts, or client-side OpenType fonts. Pango is used for all text handling in the soon- to-be-released version 2.0 of the commonly used GTK+ widget toolkit. paper will concentrate on the last aspect, rendering. Rendering internationalized text is often assumed to be simply a matter of fonts. All languages are 1 Introduction thought to be like English where it is simply a matter of picking the right symbols from the font and displaying them in the order they occur in the Although technically inclined users have histor- memory representation. In this view, international- ically been willing to learn English in order to ized rendering is a simple matter. All you need is a free software, in order for free software to gain character set that includes all the characters in the an acceptance in the wider community of users, world's languages (Unicode [Unicode] fits this role) it must able to both display a user interface in and a font for that character set. Of course, things the user's native language and allow the user to are not that simple. manipulate text in their native language. First, a number of languages, notable Arabic and A number of separate areas must be addressed Hebrew are written from right-to-left, instead of when making a program suitable for handling from left-to-right, so the rendering process needs to text in multiple languages (a process known as be able to deal with that ordering. In fact, text in internationalization. First, the user must be able these languages usually consists of a mix of right- to input text in their native language | this to-left text and left-to-right text (numbers, foreign may simply be a matter of changing the keyboard words.) So, a complicated reordering process is mapping, but it may also be a more complicated needed between the in-memory representation process involving dictionary lookup by separate and the actual drawing process. Figure 3 shows programs known as input methods. Then, the a schematic representation of the reordering process. program must preserve the structure of the text during any manipulation it does of the text. Some common assumptions, such as assuming each Arabic also introduces some other complications. character is one byte may mangle a stream of in- The shape of each character is different depending ternationalized characters. The program must pick on whether it occurs at the beginning of a word, appropriate translations of any messages it displays in the middle of a word, at the end of a word, or to the user, and finally, it must be able to render by itself. So the right glyph needs to be selected in strings in the user's native language correctly. This each context. Cluster Formation Reordering Application Toolkit Pango Pango Core T + RA + I TRA + I TRI Arabic X Shaper PS X Shaper Figure 2: Transformations while displaying Language Module X rendering backend PS rendering backend complex-text languages Xlib X Server Printer Another group of languages that needs special attention are the languages of South Asia, often Figure 3: Architecture of Pango known as complex text languages. In these lan- guages, the characters making up a syllable interact in complex ways to produce the final rendered system where all these details, and many more are form. This can involve reordering, combining properly handled for each language, what we need characters to make ligatures that appear very to do is move to a higher level of abstraction. We different from the original character, and stacking need a system where the application programmer multiple glyphs on top of each other vertically. simply presents the system with a chunk of text, A group of interacting characters in one of these and all the details of wrapping lines, laying out the languages is known as a cluster. (See Figure 2.) text, choosing glyphs and rendering is handled for the programmer. The Pango library has designed for this purpose; it encapsulates all the necessary Algorithms such as line-breaking also need detailed knowledge about various languages and scripts and knowledge of a language. Although for western presents the application programmer with generic languages, a simple job of line-breaking can be model of lines and paragraphs. done by breaking on white space, other languages, such as the languages of East Asia or Thai, are written without any white space at all, so linguistic information is needed. For Thai, correct line breaking actually needs to be done by first splitting 2 Architecture the text into words using a dictionary. There are several principles that underly the design So, we see that to properly render many of the of Pango. The first one is that Unicode is used as world's languages, we have to be able to deal with a a common character set throughout the system. rendering process which is considerably more com- Although, as mentioned above, supporting Unicode plex than just slapping down glyphs in the order is not enough to handle internationalized rendering, that characters appear in memory. It is interesting by standardizing on Unicode, and on UTF-8 as also to note that many of the same issues that the encoding of Unicode, there is no need for appear above, such as ligatures, alternate glyph the application, the toolkit, Pango, and Pango's selection, and repositioning of characters (kerning) language-specific modules to negotiate the encoding are also important when doing a high-quality job of to be used. displaying English or Western-European languages. So, if we can properly handle these issues for internationalization, we gain, as a side benefit, a The second principle of Pango is modularity. The much higher level of typographic sophistication. code specific to each language is contained in a separate, dynamically loaded module. This has several benefits. First, it reduces the amount of Clearly, you don't want to be handling all of these code that is contained in the main library. Second, details in your application. So, to be able to have a it allows modules for specific languages to be developed and distributed by teams familiar with used to convert characters to glyphs. Until we those languages, instead of tying the development have done this conversion, we cannot compute of support for a particular language to the release the size on the screen of the text we need to cycle of the core system. draw for use in a line-breaking algorithm. Line Breaking. The results of shaping and • The third principle of Pango is rendering sys- boundary resolution are used to choose where tem independence. The same tasks need to be to break lines that need to be wrapped. If performed whether using X fonts to draw to the breaking lines involves dividing items, then screen, drawing into a off-screen buffer in some we'll need to call pango shape() again to do fi- other fashion, or printing to paper. Pango provides nal glyph selection and positioning, since break- an API that can be used for all purposes to ing words may require different glyphs to be se- format the text. Only in the final rendering step lected. (The line breaking algorithm described do rendering-system-dependent calls need to be here is a simple one that works for most uses. used. Because some of the intermediate steps (for High quality text display, as for publishing may instance, positioning glyphs with respect to each require a more sophisticated algorithm that other) do depend knowledge from the rendering globally optimizes for the best line break posi- system, these portions need to be rendering system tions taking into account changes in the glyphs dependent. So each language module is split into that occur during shaping.) pieces: a rendering system-independent module Rendering. The result of the shaping and line (that knows how to do such tasks as find the • breaking process is a set of glyph strings, which permissible breaks within a line) | the language is a list of glyphs from the font, along with module and a rendering-system-dependent module positioning information for each glyph. Since for each supported rendering system | the shaper rendering is specific to the type of fonts be- module. ing used and how they are being rendered, the core Pango library doesn't handle render- ing; the rendering system specific libraries in- At the lowest level, the process of rendering text cluded with Pango, such as libpangox for X consists of a number of steps: fonts and libpangoft2 for using TrueType and Postscript fonts via the FreeType library, in- Itemization. In this step, the input text is di- clude basic rendering routines, or applications • vided a input Unicode string is analyzed and can do their own rendering. broken into items that each handled by a sin- gle language module and have a single direction Since we claim rendering-system independence, (left-to-right or right-to-left). If the application we should quickly mention how we handle font has applied additional markup on the string to information. Pango has an abstract class Pango- control things like style or font size, it may fur- Font which represents a font in some rendering ther subdivide each item into pieces that have system.
Recommended publications
  • Release Notes for X11R6.8.2 the X.Orgfoundation the Xfree86 Project, Inc
    Release Notes for X11R6.8.2 The X.OrgFoundation The XFree86 Project, Inc. 9February 2005 Abstract These release notes contains information about features and their status in the X.Org Foundation X11R6.8.2 release. It is based on the XFree86 4.4RC2 RELNOTES docu- ment published by The XFree86™ Project, Inc. Thereare significant updates and dif- ferences in the X.Orgrelease as noted below. 1. Introduction to the X11R6.8.2 Release The release numbering is based on the original MIT X numbering system. X11refers to the ver- sion of the network protocol that the X Window system is based on: Version 11was first released in 1988 and has been stable for 15 years, with only upwardcompatible additions to the coreX protocol, a recordofstability envied in computing. Formal releases of X started with X version 9 from MIT;the first commercial X products werebased on X version 10. The MIT X Consortium and its successors, the X Consortium, the Open Group X Project Team, and the X.OrgGroup released versions X11R3 through X11R6.6, beforethe founding of the X.OrgFoundation. Therewill be futuremaintenance releases in the X11R6.8.x series. However,efforts arewell underway to split the X distribution into its modular components to allow for easier maintenance and independent updates. We expect a transitional period while both X11R6.8 releases arebeing fielded and the modular release completed and deployed while both will be available as different consumers of X technology have different constraints on deployment. Wehave not yet decided how the modular X releases will be numbered. We encourage you to submit bug fixes and enhancements to bugzilla.freedesktop.orgusing the xorgproduct, and discussions on this server take place on <[email protected]>.
    [Show full text]
  • Open Source License Report on the Product
    OPEN SOURCE LICENSE REPORT ON THE PRODUCT The software included in this product contains copyrighted software that is licensed under the GPLv2, GPLv3, gSOAP Public License, jQuery, PHP License 3.01, FTL, BSD 3-Clause License, Public Domain, MIT License, OpenSSL Combined License, Apache 2.0 License, zlib/libpng License, , . You may obtain the complete corresponding source code from us for a period of three years after our last shipment of this product by sending email to: [email protected] If you want to obtain the complete corresponding source code with a physical medium such as CD-ROM, the cost of physically performing source distribution might be charged. For more details about Open Source Software, refer to eneo website at www.eneo-security.com, the product CD and manuals. GPLv2: u-Boot 2013.07, Linux Kernel 3.10.55, busybox 1.20.2, ethtool 3.10, e2fsprogs 1.41.14, mtd-utils 1.5.2, lzo 2.05, nfs-utils 1.2.7, cryptsetup 1.6.1, udhcpd 0.9.9 GPLv3: pwstrength 2.0.4 gSOAP Public License: gSOAP 2.8.10 jQuery License: JQuery 2.1.1, JQuery UI 1.10.4 PHP: PHP 5.4.4 FTL (FreeType License): freetype 2.4.10 BSD: libtirpc 0.2.3, rpcbind 0.2.0, lighttpd 1.4.32, hdparm 9,45, hostpad 2, wpa_supplicant 2, jsbn 1.4 Public Domain: sqlite 3.7.17 zlib: zlib 1.2.5 MIT:pwstrength 2.0.4, ezxml 0.8.6, bootstrap 3.3.4, jquery-fullscreen 1.1.5, jeditable 1.7.1, jQuery jqGrid 4.6.0, fullcalendar 2.2.0, datetimepicker 4.17.42, clockpicker 0.0.7, dataTables 1.0.2, dropzone 3.8.7, iCheck 1.0.2, ionRangeSlider 2.0.13, metisMenu 2.0.2, slimscroll 1.3.6, sweetalert 2015.11, Transitionize 0.0.2 , switchery 0.0.2, toastr 2.1.0, animate 3.5.0, font-awesome 4.3.0, Modernizr 2.7.1 pace 1.0.0 OpenSSL Combined: openssl 1.0.1h Apache license 2.0: datepicker 1.4.0, mDNSResponder 379.32.1 wish), that you receive source reflect on the original authors' GNU GENERAL PUBLIC code or can get it if you want it, reputations.
    [Show full text]
  • Porting a Window Manager from Xlib to XCB
    Porting a Window Manager from Xlib to XCB Arnaud Fontaine (08090091) 16 May 2008 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version pub- lished by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Contents List of figures i List of listings ii Introduction 1 1 Backgrounds and Motivations 2 2 X Window System (X11) 6 2.1 Introduction . .6 2.2 History . .6 2.3 X Window Protocol . .7 2.3.1 Introduction . .7 2.3.2 Protocol overview . .8 2.3.3 Identifiers of resources . 10 2.3.4 Atoms . 10 2.3.5 Windows . 12 2.3.6 Pixmaps . 14 2.3.7 Events . 14 2.3.8 Keyboard and pointer . 15 2.3.9 Extensions . 17 2.4 X protocol client libraries . 18 2.4.1 Xlib . 18 2.4.1.1 Introduction . 18 2.4.1.2 Data types and functions . 18 2.4.1.3 Pros . 19 2.4.1.4 Cons . 19 2.4.1.5 Example . 20 2.4.2 XCB . 20 2.4.2.1 Introduction . 20 2.4.2.2 Data types and functions . 21 2.4.2.3 xcb-util library . 22 2.4.2.4 Pros . 22 2.4.2.5 Cons . 23 2.4.2.6 Example . 23 2.4.3 Xlib/XCB round-trip performance comparison .
    [Show full text]
  • Optical Character Recognition - a Combined ANN/HMM Approach
    Optical Character Recognition - A Combined ANN/HMM Approach Dissertation submitted to the Department of Computer Science Technical University of Kaiserslautern for the fulfillment of the requirements for the doctoral degree Doctor of Engineering (Dr.-Ing.) by Sheikh Faisal Rashid Dean: Prof. Dr. Klaus Schneider Thesis supervisors: Prof. Dr. Thomas Breuel, TU Kaiserslautern Prof. Dr. Andreas Dengel, TU Kaiserslautern Chair of supervisory committee: Prof. Dr. Karsten Berns, TU Kaiserslautern Kaiserslautern, 11 July, 2014 D 386 Abstract Optical character recognition (OCR) of machine printed text is ubiquitously considered as a solved problem. However, error free OCR of degraded (broken and merged) and noisy text is still challenging for modern OCR systems. OCR of degraded text with high accuracy is very important due to many applications in business, industry and large scale document digitization projects. This thesis presents a new OCR method for degraded text recognition by introducing a combined ANN/HMM OCR approach. The approach provides significantly better performance in comparison with state-of-the-art HMM based OCR methods and existing open source OCR systems. In addition, the thesis introduces novel applications of ANNs and HMMs for document image preprocessing and recognition of low resolution text. Furthermore, the thesis provides psychophysical experiments to determine the effect of letter permutation in visual word recognition of Latin and Cursive script languages. HMMs and ANNs are widely employed pattern recognition paradigms and have been used in numerous pattern classification problems. This work presents a simple and novel method for combining the HMMs and ANNs in application to segmentation free OCR of degraded text. HMMs and ANNs are powerful pattern recognition strategies and their combination is interesting to improve current state-of-the-art research in OCR.
    [Show full text]
  • Opentype Postscript Fonts with Unusual Units-Per-Em Values
    Luigi Scarso VOORJAAR 2010 73 OpenType PostScript fonts with unusual units-per-em values Abstract Symbola is an example of OpenType font with TrueType OpenType fonts with Postscript outline are usually defined outlines which has been designed to match the style of in a dimensionless workspace of 1000×1000 units per em Computer Modern font. (upm). Adobe Reader exhibits a strange behaviour with pdf documents that embed an OpenType PostScript font with A brief note about bitmap fonts: among others, Adobe unusual upm: this paper describes a solution implemented has published a “Glyph Bitmap Distribution Format by LuaTEX that resolves this problem. (BDF)” [2] and with fontforge it’s easy to convert a bdf font into an opentype one without outlines. A fairly Keywords complete bdf font is http://unifoundry.com/unifont-5.1 LuaTeX, ConTeXt Mark IV, OpenType, FontMatrix. .20080820.bdf.gz: this Vle can be converted to an Open- type format unifontmedium.otf with fontforge and it Introduction can inspected with showttf, a C program from [3]. Here is an example of glyph U+26A5 MALE AND FEMALE Opentype is a font format that encompasses three kinds SIGN: of widely used fonts: 1. outline fonts with cubic Bézier curves, sometimes Glyph 9887 ( uni26A5) starts at 492 length=17 referred to CFF fonts or PostScript fonts; height=12 width=8 sbX=4 sbY=10 advance=16 2. outline fonts with quadratic Bézier curve, sometimes Bit aligned referred to TrueType fonts; .....*** 3. bitmap fonts. ......** .....*.* Nowadays in digital typography an outline font is almost ..***... the only choice and no longer there is a relevant diUer- .*...*.
    [Show full text]
  • Surviving the TEX Font Encoding Mess Understanding The
    Surviving the TEX font encoding mess Understanding the world of TEX fonts and mastering the basics of fontinst Ulrik Vieth Taco Hoekwater · EuroT X ’99 Heidelberg E · FAMOUS QUOTE: English is useful because it is a mess. Since English is a mess, it maps well onto the problem space, which is also a mess, which we call reality. Similary, Perl was designed to be a mess, though in the nicests of all possible ways. | LARRY WALL COROLLARY: TEX fonts are mess, as they are a product of reality. Similary, fontinst is a mess, not necessarily by design, but because it has to cope with the mess we call reality. Contents I Overview of TEX font technology II Installation TEX fonts with fontinst III Overview of math fonts EuroT X ’99 Heidelberg 24. September 1999 3 E · · I Overview of TEX font technology What is a font? What is a virtual font? • Font file formats and conversion utilities • Font attributes and classifications • Font selection schemes • Font naming schemes • Font encodings • What’s in a standard font? What’s in an expert font? • Font installation considerations • Why the need for reencoding? • Which raw font encoding to use? • What’s needed to set up fonts for use with T X? • E EuroT X ’99 Heidelberg 24. September 1999 4 E · · What is a font? in technical terms: • – fonts have many different representations depending on the point of view – TEX typesetter: fonts metrics (TFM) and nothing else – DVI driver: virtual fonts (VF), bitmaps fonts(PK), outline fonts (PFA/PFB or TTF) – PostScript: Type 1 (outlines), Type 3 (anything), Type 42 fonts (embedded TTF) in general terms: • – fonts are collections of glyphs (characters, symbols) of a particular design – fonts are organized into families, series and individual shapes – glyphs may be accessed either by character code or by symbolic names – encoding of glyphs may be fixed or controllable by encoding vectors font information consists of: • – metric information (glyph metrics and global parameters) – some representation of glyph shapes (bitmaps or outlines) EuroT X ’99 Heidelberg 24.
    [Show full text]
  • Vorlage Für Dokumente Bei AI
    Date: 1-September-2016 OSS Disclosure Document CM_CI1/EGM-P OSS Licenses used in GM-MY17 Project Page 1 1 Overview .................................................. 10 2 OSS Licenses used in the project .......................... 10 3 Package details for OSS Licenses usage .................... 11 3.1 7 Zip - LZMA SDK - 9.2/4.01 .................................. 11 3.2 ACL - 2.2.51 ................................................. 11 3.3 AES - Advanced Encryption Standard – 1.0 ..................... 11 3.4 Alsa Libraries - 1.0.27.2 .................................... 11 3.5 Alsa Plugins - 1.0.26 ........................................ 11 3.6 Alsa Utils - 1.0.27.2 ........................................ 12 3.7 APMD - 3.2.2 ................................................. 12 3.8 ATK - 2.8.0 .................................................. 12 3.9 Attr - 2.4.46 ................................................ 12 3.10 Audio File Library - 0.2.7 ................................. 12 3.11 Android - platform - bootable – recovery -4.2 .............. 12 3.12 Android - platform - system – core -4.2 .................... 12 3.13 Avahi - 0.6.31 ............................................. 13 3.14 Bash - 3.2.48 .............................................. 13 3.15 Bison with GPL 3.0 exception - 2.7.1 ....................... 13 3.16 Blktrace - 1.0.5 ........................................... 13 3.17 BlueZ - 4.101/5.15 ......................................... 13 3.18 Boost C++ Libraries- boost 1.50.0 .......................... 13 3.19 BPSTL
    [Show full text]
  • License Agreement
    TAGARNO MOVE, FHD PRESTIGE/TREND/UNO License Agreement Version 2021.08.19 Table of Contents Table of Contents License Agreement ................................................................................................................................................ 4 Open Source & 3rd-party Licenses, MOVE ............................................................................................................ 4 Open Source & 3rd-party Licenses, PRESTIGE/TREND/UNO ................................................................................. 4 atk ...................................................................................................................................................................... 5 base-files ............................................................................................................................................................ 5 base-passwd ...................................................................................................................................................... 5 BSP (Board Support Package) ............................................................................................................................ 5 busybox.............................................................................................................................................................. 5 bzip2 .................................................................................................................................................................
    [Show full text]
  • Optimization of Fontconfig Library Optimization of Fontconfig Library
    Michal Srb OPTIMIZATION OF FONTCONFIG LIBRARY OPTIMIZATION OF FONTCONFIG LIBRARY Michal Srb Bachelor's Thesis Spring 2017 Information Technology Oulu University of Applied Sciences ABSTRACT Oulu University of Applied Sciences Degree Programme in Information Technology, Internet Services Author: Michal Srb Title of the bachelor’s thesis: Optimization of Fontconfig Library Supervisor: Teemu Korpela Term and year of completion: Spring 2017 Number of pages: 39 + 1 appendix Fontconfig is a library that manages a database of fonts on Linux systems. The aim of this Bachelor's thesis was to explore options for making it respond faster to application's queries. The library was identified as a bottleneck during the startup of graphical applications. The typical usage of the library by applications was analyzed and a set of standalone benchmarks were created. The library was profiled to identify hot spots and multiple optimizations were applied to it. It was determined that to achieve an optimal performance, a complete rewrite would be necessary. However, that could not be done while staying backward compatible. Nevertheless, the optimizations applied to the existing fontconfig yielded significant performance improvements, up to 98% speedups in benchmarks based on the real-world usage. Keywords: fontconfig, optimization, benchmarking, profiling 3 CONTENTS 1 INTRODUCTION 6 2 BACKGROUND 7 1.1 Motivation 7 1.2 Fontconfig 8 1.2.1 Function 9 1.2.2 Configuration 11 2 ANALYSIS 12 2.1 Main entry functions 12 2.1.1 FcFontMatch 12 2.1.2 FcFontSort 14 2.1.3
    [Show full text]
  • Insider Threat Detection with Text Libraries and Machine Learning
    Insider Threat Detection with Text Libraries and Machine Learning A Major Qualifying Project Submitted to the Faculty of Worcester Polytechnic Institute In partial fulfillment of the requirement for the Degree in Bachelor of Science in Computer Science By Bryan Z. Li Patrick R. Kane Date: 12/19/2013 Project Advisor: Prof. Craig Shue, Advisor This report represents work of WPI undergraduate students submitted to the faculty as evidence of a degree requirement. WPI routinely publishes these reports on its web site without editorial or peer review. For more information about the projects program at WPI, see http://www.wpi.edu/Academics/Projects 1 Abstract Company networks are protected by firewalls and other measures to ensure that data remains secure. However, these same companies have limited techniques to protect information from being compromised from inside the closed network. According to CERT, the Computer Emergency Readiness Team, over 700 unique cases are currently documented and growing rapidly [20]. Sensitive company documents are leaked every year by means of email, printed documents, USB flash drives, and other mediums of data storage. Because there are many legitimate reasons for accessing secret data, insider threats are extremely difficult to detect. A company cannot simply create a policy that bans the use of USB drives or printing, because there are many instances where an employee would be required to print or transfer files using a USB flash drive. In addition to the difficulty of detecting insider threats, the consequences of such attacks can be catastrophic, as is the case with the whistleblower Edward Snowden and his release of documents pertaining to the NSA.
    [Show full text]
  • Release Notes for Xfree86® 4.8.0 the Xfree86 Project, Inc December 2008
    Release Notes for XFree86® 4.8.0 The XFree86 Project, Inc December 2008 Abstract This document contains information about the various features and their current sta- tus in the XFree86 4.8.0 release. 1. Introduction to the 4.x Release Series XFree86 4.0 was the first official release of the XFree86 4 series. The current release (4.8.0) is the latest in that series. The XFree86 4.x series represents a significant redesign of the XFree86 X server,with a strong focus on modularity and configurability. 2. Configuration: aQuickSynopsis Automatic configuration was introduced with XFree86 4.4.0 which makes it possible to start XFree86 without first creating a configuration file. This has been further improved in subsequent releases. If you experienced any problems with automatic configuration in a previous release, it is worth trying it again with this release. While the initial automatic configuration support was originally targeted just for Linux and the FreeBSD variants, as of 4.5.0 it also includes Solaris, NetBSD and OpenBSD support. Full support for automatic configuration is planned for other platforms in futurereleases. If you arerunning Linux, FreeBSD, NetBSD, OpenBSD, or Solaris, try Auto Configuration by run- ning: XFree86 -autoconfig If you want to customise some things afterwards, you can cut and paste the automatically gener- ated configuration from the /var/log/XFree86.0.log file into an XF86Config file and make your customisations there. If you need to customise some parts of the configuration while leav- ing others to be automatically detected, you can combine a partial static configuration with the automatically detected one by running: XFree86 -appendauto If you areusing a platform that is not currently supported, then you must try one of the older methods for getting started like "xf86cfg", which is our graphical configuration tool.
    [Show full text]
  • African Fonts and Open Source
    African fonts and Open Source Denis Moyogo Jacquerye September 17th 2008 ATypI ‘o8 Conference St. Petersburg, Russia, September 2008 1 African fonts and Open Source Denis Moyogo Jacquerye African fonts and Open Source This talk is about: ● African Orthographies (relevance, groups, requirements) ● Technologies for them (Unicode, OpenType) ● Implementation ● Raise awareness and interest ● Case for Open Source ATypI ‘o8 Conference St. Petersburg, Russia, September 2008 2 African fonts and Open Source Denis Moyogo Jacquerye Speaker Denis Moyogo Jacquerye ● Computer Scientist and Linguist ● Africanization consultant ● DejaVu Fonts co-leader ● African Network for Localization (ANLoc) ATypI ‘o8 Conference St. Petersburg, Russia, September 2008 3 African fonts and Open Source Denis Moyogo Jacquerye ANLoc African fonts work part of ANLoc project ● Facilitate localization ● Empowering through ICT ● Network of experts ● Sub-projects: Locales, Keyboards, Fonts, Spell checkers, Terminology, Training, Localization software, Policy. ATypI ‘o8 Conference St. Petersburg, Russia, September 2008 4 African fonts and Open Source Denis Moyogo Jacquerye African languages ● Lots of African languages (over 2000) ● 25 spoken by about half ● 80% don't have orthographies ● 20% do! ● Can emulate! ATypI ‘o8 Conference St. Petersburg, Russia, September 2008 5 African fonts and Open Source Denis Moyogo Jacquerye African languages ● Used every day by most ● Education is mostly in European language ● Used in spoken media ● Interest is rising ATypI ‘o8 Conference St. Petersburg,
    [Show full text]