Fonts in X11R7.7

Total Page:16

File Type:pdf, Size:1020Kb

Fonts in X11R7.7 Fonts in X11R7.7 Juliusz Chroboczek <[email protected]> X Version 11, Release 7.7 16 March 2012 1 Fonts in X11R7.7 Table of Contents Introduction ........................................................................................................... 3 Two font systems ........................................................................................... 3 Installing fonts ....................................................................................................... 3 Configuring Xft .............................................................................................. 3 Configuring the core X11 fonts system ......................................................... 6 Fonts included with X11R7.7 ................................................................................ 9 Standard bitmap fonts ................................................................................... 9 The ClearlyU Unicode font family ............................................................... 10 Standard scalable fonts ............................................................................... 10 The Bigelow & Holmes Luxi family ............................................................. 11 More about core fonts ......................................................................................... 12 Core fonts and internationalisation ............................................................. 12 Additional notes about scalable core fonts .................................................. 18 Appendix: background and terminology ............................................................. 20 Characters and glyphs ................................................................................. 20 Font files, fonts, and XLFD .......................................................................... 20 Unicode ........................................................................................................ 21 References ........................................................................................................... 21 2 Fonts in X11R7.7 Introduction This document describes the support for fonts in X11R7.7. Installing fonts is aimed at the casual user wishing to install fonts in X11R7.7 the rest of the document de- scribes the font support in more detail. We assume some familiarity with digital fonts. If anything is not clear to you, please consult Appendix: background and terminology at the end of this document for back- ground information. Two font systems X11 includes two font systems: the original core X11 fonts system, which is present in all implementations of X11, and the Xft fonts system, which may not yet be distrib- uted with implementations of X11 that are not based on either XFree86 or X11R6.8 or later. The core X11 fonts system is directly derived from the fonts system included with X11R1 in 1987, which could only use monochrome bitmap fonts. Over the years, it has been more or less happily coerced into dealing with scalable fonts and rotated glyphs. Xft was designed from the start to provide good support for scalable fonts, and to do so efficiently. Unlike the core fonts system, it supports features such as anti-alias- ing and sub-pixel rasterisation. Perhaps more importantly, it gives applications full control over the way glyphs are rendered, making fine typesetting and WYSIWIG display possible. Finally, it allows applications to use fonts that are not installed system-wide for displaying documents with embedded fonts. Xft is not compatible with the core fonts system: usage of Xft requires fairly ex- tensive changes to toolkits (user-interface libraries). While X.Org will continue to maintain the core fonts system, toolkit authors are encouraged to switch to Xft as soon as possible. Installing fonts This section explains how to configure both Xft and the core fonts system to access newly-installed fonts. Configuring Xft Xft has no configuration mechanism itself, it relies upon the fontconfig [http:// www.fontconfig.org/] library to configure and customise fonts. That library is not specific to the X Window system, and does not rely on any particular font output mechanism. Installing fonts in Xft Fontconfig looks for fonts in a set of well-known directories that include all of X11R7.7's standard font directories (“/usr/share/fonts/X11/*”) by default) as well as a directory called “.fonts/” in the user's home directory. Installing a font for use by Xft applications is as simple as copying a font file into one of these directories. 3 Fonts in X11R7.7 $ cp lucbr.ttf ~/.fonts/ Fontconfig will notice the new font at the next opportunity and rebuild its list of fonts. If you want to trigger this update from the command line, you may run the command “fc-cache”. $ fc-cache In order to globally update the system-wide Fontconfig information on Unix systems, you will typically need to run this command as root: $ su -c fc-cache Fine-tuning Xft Fontconfig's behaviour is controlled by a set of configuration files: a standard con- figuration file, “/etc/fonts/fonts.conf”, a host-specific configuration file, “/etc/ fonts/local.conf”, and a user-specific file called “.fonts.conf” in the user's home directory (this can be overridden with the “FONTCONFIG_FILE” environment variable). Every Fontconfig configuration file must start with the following boilerplate: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> In addition, every Fontconfig configuration file must end with the following line: </fontconfig> The default Fontconfig configuration file includes the directory “˜/.fonts/” in the list of directories searched for font files, and this is where user-specific font files should be installed. In the unlikely case that a new font directory needs to be added, this can be done with the following syntax: <dir>/usr/local/share/fonts/</dir> Another useful option is the ability to disable anti-aliasing (font smoothing) for se- lected fonts. This can be done with the following syntax: <match target="font"> <test qual="any" name="family"> <string>Lucida Console</string> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> 4 Fonts in X11R7.7 </match> Anti-aliasing can be disabled for all fonts by the following incantation: <match target="font"> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> Xft supports sub-pixel rasterisation on LCD displays. X11R7.7 should automatically enable this feature on laptops and when using an LCD monitor connected with a DVI cable; you can check whether this was done by typing $ xdpyinfo -ext RENDER | grep sub-pixel If this doesn't print anything, you will need to configure Render for your particular LCD hardware manually; this is done with the following syntax: <match target="font"> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> The string “rgb” within the “<const>”...“</const>” specifies the order of pixel com- ponents on your display, and should be changed to match your hardware; it can be one of “rgb” (normal LCD screen), “bgr” (backwards LCD screen), “vrgb” (LCD screen rotated clockwise) or “vbgr” (LCD screen rotated counterclockwise). Configuring applications A growing number of applications use Xft in preference to the core fonts system. Some applications, however, need to be explicitly configured to use Xft. A case in point is XTerm, which can be set to use Xft by using the “-fa” command line option or by setting the “XTerm*faceName” resource: XTerm*faceName: Courier or $ xterm -fa "Courier" For KDE applications, you should select “Anti-alias fonts” in the “Fonts” panel of KDE's “Control Center”. Note that this option is misnamed: it switches KDE to using Xft but doesn't enable anti-aliasing in case it was disabled by your Xft configuration file. Gnome applications and Mozilla Firefox will use Xft by default. 5 Fonts in X11R7.7 Configuring the core X11 fonts system Installing fonts in the core system is a two step process. First, you need to create a font directory that contains all the relevant font files as well as some index files. You then need to inform the X server of the existence of this new directory by including it in the font path. Installing bitmap fonts The X11R7.7 server can use bitmap fonts in both the cross-platform BDF format and the somewhat more efficient binary PCF format. (X11R7.7 also supports the obsolete SNF format.) Bitmap fonts are normally distributed in the BDF format. Before installing such fonts, it is desirable (but not absolutely necessary) to convert the font files to the PCF format. This is done by using the command “bdftopcf”, e.g. $ bdftopcf courier12.bdf You may then want to compress the resulting PCF font files: $ gzip courier12.pcf After the fonts have been converted, you should copy all the font files that you wish to make available into a arbitrary directory, say “/usr/local/share/fonts/ bitmap/”. You should then create the index file “fonts.dir” by running the com- mand “mkfontdir” (please see the mkfontdir(1) [mkfontdir.1.html] manual page for more information): $ mkdir /usr/local/share/fonts/bitmap/ $ cp *.pcf.gz /usr/local/share/fonts/bitmap/ $ mkfontdir /usr/local/share/fonts/bitmap/ All that remains is to tell the X server about the existence of the new font directory; see Setting the server's font path below. Installing scalable fonts The X11R7.7 server supports scalable fonts in multiple formats, including Type 1, TrueType, and OpenType/CFF. (Earlier versions of X11 also included support for the Speedo and CID scalable
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]
  • WORDS MADE FLESH Code, Culture, Imagination Florian Cramer
    WORDS MADE FLESH Code, Culture, Imagination Florian Cramer Me dia De s ign Re s e arch Pie t Z w art Ins titute ins titute for pos tgraduate s tudie s and re s e arch W ille m de Kooning Acade m y H oge s ch ool Rotte rdam 3 ABSTRACT: Executable code existed centuries before the invention of the computer in magic, Kabbalah, musical composition and exper- imental poetry. These practices are often neglected as a historical pretext of contemporary software culture and electronic arts. Above all, they link computations to a vast speculative imagination that en- compasses art, language, technology, philosophy and religion. These speculations in turn inscribe themselves into the technology. Since even the most simple formalism requires symbols with which it can be expressed, and symbols have cultural connotations, any code is loaded with meaning. This booklet writes a small cultural history of imaginative computation, reconstructing both the obsessive persis- tence and contradictory mutations of the phantasm that symbols turn physical, and words are made flesh. Media Design Research Piet Zwart Institute institute for postgraduate studies and research Willem de Kooning Academy Hogeschool Rotterdam http://www.pzwart.wdka.hro.nl The author wishes to thank Piet Zwart Institute Media Design Research for the fellowship on which this book was written. Editor: Matthew Fuller, additional corrections: T. Peal Typeset by Florian Cramer with LaTeX using the amsbook document class and the Bitstream Charter typeface. Front illustration: Permutation table for the pronounciation of God’s name, from Abraham Abulafia’s Or HaSeichel (The Light of the Intellect), 13th century c 2005 Florian Cramer, Piet Zwart Institute Permission is granted to copy, distribute and/or modify this document under the terms of any of the following licenses: (1) the GNU General Public License as published by the Free Software Foun- dation; either version 2 of the License, or any later version.
    [Show full text]
  • B.Casselman,Mathematical Illustrations,A Manual Of
    1 0 0 setrgbcolor newpath 0 0 1 0 360 arc stroke newpath Preface 1 0 1 0 360 arc stroke This book will show how to use PostScript for producing mathematical graphics, at several levels of sophistication. It includes also some discussion of the mathematics involved in computer graphics as well as a few remarks about good style in mathematical illustration. To explain mathematics well often requires good illustrations, and computers in our age have changed drastically the potential of graphical output for this purpose. There are many aspects to this change. The most apparent is that computers allow one to produce graphics output of sheer volume never before imagined. A less obvious one is that they have made it possible for amateurs to produce their own illustrations of professional quality. Possible, but not easy, and certainly not as easy as it is to produce their own mathematical writing with Donald Knuth’s program TEX. In spite of the advances in technology over the past 50 years, it is still not a trivial matter to come up routinely with figures that show exactly what you want them to show, exactly where you want them to show it. This is to some extent inevitable—pictures at their best contain a lot of information, and almost by definition this means that they are capable of wide variety. It is surely not possible to come up with a really simple tool that will let you create easily all the graphics you want to create—the range of possibilities is just too large.
    [Show full text]
  • Mysky HD PVR
    Open Source Used In MySky HD PVR Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-136230001 Open Source Used In MySky HD PVR 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-136230001 Contents 1.1 ASN1C 0.9.23 1.1.1 Available under license 1.2 base64.c 1.3 1.2.1 Available under license 1.3 bison 1.875a :1.0.0.0501961 1.3.1 Available under license 1.4 cJSON r40 1.4.1 Available under license 1.5 crc32 1.1.1.1 1.5.1 Available under license 1.6 expat 2.1.0 1.6.1 Available under license 1.7 freeBSD 4.8 :distro-fusion 1.7.1 Available under license 1.8 FREETYPE2 2.4.4 1.8.1 Available under license 1.9 GNU-Regexp 1.1.3 1.9.1 Available under license 1.10 icu 4.4 1.10.1 Available under license 1.11 icu 51.2 :r0 1.11.1 Available under license 1.12 isc-dhcp 4.1-ESV-R4 1.12.1 Available under license 1.13 jpeg 8c 1.13.1 Notifications Open Source Used In MySky HD PVR 2 1.13.2 Available under license 1.14 KazLib 1.20 1.14.1 Available under license 1.15 libcurl
    [Show full text]
  • Introduction to Tizen Mobile & Wearable Profile
    Introduction to Tizen Mobile & Wearable Profile Taesoo Jun, Ph.D. @Software Center Samsung Electronics Tizen Overview Tizen... • Is W3C standard-based • Has strong industry support • Is open source project • Covers multiple profiles for mobile for TV Common & Profile-Specific Compliance Rules for printer for wearable • Releasing Profiles • Preparing Profiles for PC • Potential Profiles for camera for IVI 3 Release History Oct. ‘14 Nov. ‘13 2.3 July ‘13 2.2.1 Multi-profile, May ‘13 2.2 Minor Update New Native Feb. ‘13 2.1 Commercial - App. installation in Framework SD card 2.0 Hybrid Ready w/ - Mobile/ Wearable Add-on SDK profile Web/Native, Enhanced UX Apr. ‘12 Web/Native - OpenCL & WebCL - New native - H/W Menu & Back Framework Enhanced - In app purchase subsystem 1.0 key - Native API Security and - UI Customizer Web-centric - Unified SDK for Web Performance Platform & native - WebKit2 - Highest HTML5 Optimization - Tizen Device Web - Hybrid Web/Native API app. - Web UI framework - Systemd Linux kernel Linux kernel Linux kernel 2.6.36 3.0 w/ 3.4 features (e.g., CMA/IOMMU, eMMC 4.5, V4L2) 3.4 4 Tizen Mobile Profile Architecture Overview • Kernel: Linux kernel + device drivers • Native Subsystem: core functionalities for Tizen platform • Web Framework: web environment above Native subsystem • API • Native API: direct access to core functions in mobile profile • Web API: web-style(i.e., JS, markup) access to W3C standard and device functions Web Web Applications API Web Framework Native Native Applications API Native Subsystem Kernel Manufacturer
    [Show full text]
  • Bitstream Fonts in May 2005 at Totaling 350 Font Families with a Total of 1357 Font Styles
    Bitstream Fonts in May 2005 at http://www.myfonts.com/fonts/bitstream totaling 350 font families with a total of 1357 font styles The former Bitstream typeface libraries consisted mainly of forgeries of Linotype fonts and of ITC fonts. See the list below on the pages 24–29 about the old Bitstream Typeface Library of 1992. The 2005 Bitstream typeface library contains the same forgeries of Linotype fonts as formerly and also the same ITC fonts, but it also includes a lot of new mediocre „rubbish fonts“ (e.g. „Alphabet Soup“, „Arkeo“, „Big Limbo“), but also a few new quality fonts (e.g. „Drescher Grotesk“, „Prima Serif“ etc.). On the other hand, a few old fonts (e.g. „Caxton“) were removed. See the list below on pages 1–23. The typeface collection of CorelDraw comprises almost the entire former old Bitstream typeface library (see the list below on pages 24–29) with the following exceptions: 1. A few (ca. 3) forgeries of Linotype fonts are missing in the CorelDraw font collections, e.g. the fonts „Baskerville No. 2“ (= Linotype Baskerville No. 2), „Italian Garamond“ (= Linotype Garamond Simoncini), and „Revival 555“ (= Linotype Horley Old Style). 2. A lot (ca. 11) of ITC fonts are not contained in the CorelDraw font collections, e.g. „ITC Berkeley Oldstyle“, „ITC Century“, „ITC Clearface“, „ITC Isbell“, „ITC Italia“, „ITC Modern No. 216“, „ITC Ronda“, „ITC Serif Gothic“, „ITC Tom’s Roman“, „ITC Zapf Book“, and „ITC Zapf International“. Ulrich Stiehl, Heidelberg 3-May 2005 Aachen – 2 styles Ad Lib™ – 1 styles Aerospace Pi – 1 styles Aldine
    [Show full text]
  • Typing Vietnamese on Window
    TYPING VIETNAMESE WITH UNICODE FONT It is recommended that you use a Vietnamese keyboard or keyboard driver for the task. Despite its name, it is not hardware: it is a small program that sits in your OS and converts your keystrokes into Vietnamese characters. Unikey. Its advantages are: It's free. It's just a download away: for NT/2000/XP, for 95/98/MEor for Linux. Installation is simple: just unzip it and it is ready to go. It sits on the taskbar. This makes it easy to switch between "English" mode and "Vietnamese" mode: just click on the icon on the taskbar. The user interface actually provides for English speakers, which makes it easier to understand. Setup 1. When you start up Unikey, you see the following dialogue: What does it all mean? Fortunately, you can find out what is happening by clicking on the "Mở rộng" button. "Mở rộng" means expand, and that's what you need to do. Uncheck the checkbox with "Vietnamese interface”. The whole interface will turn into English: I recommend you always set the "Character Set" to Unicode - always. A character set is basically how characters like "ư" and "a" are represented as numbers that computers can handle. The Microsoft Office programs are set to handle Unicode by default. Unicode is an international standard, so you can't go much wrong with it. The "Input method" is what keystrokes will form a character like "ư". I prefer TELEX, but I will give instructions for using Unikey with VNI as well. See the next section for instructions.
    [Show full text]
  • Download Free Chinese Fonts for Mac
    1 / 4 Download Free Chinese Fonts For Mac ttc and Songti ttc and include TC fonts Hiragino Sans GB ~ Beginning with OS X 10.. 01[?]KaiTi楷体GB18030simkai ttfv5 01[?]FangSong_GB2312仿宋_GB2312GB2312SIMFANG.. [NEED MORE DETAILS HERE] [DISCUSSION OF WEB FONTS AND CSS3]Arphic [文鼎]Taiwan.. If you want to use this font for both simplified and traditional Chinese, then use Font Book to deactivate BiauKai and activate DFKai-SB instead.. ttf file and select install MacOS X (10 3 or later)Double-click on the ttf file and select install.. West is an IRG participant as a member of the UK delegation, so he is well-informed and up-to-date on the progress of their work, and his fonts reflect that knowledge. In addition, the Microsoft Office XP Proofing Tools (and Chinese editions) include the font Simsun (Founder Extended) [SURSONG.. A long time vendor of Chinese OEM fonts, in 2006 Monotype's new owners [Monotype Imaging] also acquired China Type Design [中國字體設計] in Hong Kong.. For the character sets and weights for each, see the Fonts section for your OS: 10.. If you have downloaded a font that is saved in Free Chinese Fonts Free Chinese Font is all about Chinese fonts that are free to download! This site aims to help you download high quality Chinese fonts in.. FamilyFile nameCharsetOS 910 310 410 510 610 710 810 1010 11PingFang SC PingFang HK PingFang TCPingFang.. Font files had to be converted between Windows and Macintosh Regardless, all TrueType fonts contain 'cmap' tables that map its glyphs to various encodings. chinese fonts chinese fonts, chinese fonts generator, chinese fonts download, chinese fonts copy and paste, chinese fonts google docs, chinese fonts dafont, chinese fonts adobe, chinese fonts in microsoft word, chinese fonts word, chinese fonts calligraphy Arial Unicode MS ~ Beginning with OS X 10 5, Apple includes this basic Monotype Unicode font from Microsoft Office [Arial Unicode.
    [Show full text]
  • Assessment of Options for Handling Full Unicode Character Encodings in MARC21 a Study for the Library of Congress
    1 Assessment of Options for Handling Full Unicode Character Encodings in MARC21 A Study for the Library of Congress Part 1: New Scripts Jack Cain Senior Consultant Trylus Computing, Toronto 1 Purpose This assessment intends to study the issues and make recommendations on the possible expansion of the character set repertoire for bibliographic records in MARC21 format. 1.1 “Encoding Scheme” vs. “Repertoire” An encoding scheme contains codes by which characters are represented in computer memory. These codes are organized according to a certain methodology called an encoding scheme. The list of all characters so encoded is referred to as the “repertoire” of characters in the given encoding schemes. For example, ASCII is one encoding scheme, perhaps the one best known to the average non-technical person in North America. “A”, “B”, & “C” are three characters in the repertoire of this encoding scheme. These three characters are assigned encodings 41, 42 & 43 in ASCII (expressed here in hexadecimal). 1.2 MARC8 "MARC8" is the term commonly used to refer both to the encoding scheme and its repertoire as used in MARC records up to 1998. The ‘8’ refers to the fact that, unlike Unicode which is a multi-byte per character code set, the MARC8 encoding scheme is principally made up of multiple one byte tables in which each character is encoded using a single 8 bit byte. (It also includes the EACC set which actually uses fixed length 3 bytes per character.) (For details on MARC8 and its specifications see: http://www.loc.gov/marc/.) MARC8 was introduced around 1968 and was initially limited to essentially Latin script only.
    [Show full text]
  • Font HOWTO Font HOWTO
    Font HOWTO Font HOWTO Table of Contents Font HOWTO......................................................................................................................................................1 Donovan Rebbechi, elflord@panix.com..................................................................................................1 1.Introduction...........................................................................................................................................1 2.Fonts 101 −− A Quick Introduction to Fonts........................................................................................1 3.Fonts 102 −− Typography.....................................................................................................................1 4.Making Fonts Available To X..............................................................................................................1 5.Making Fonts Available To Ghostscript...............................................................................................1 6.True Type to Type1 Conversion...........................................................................................................2 7.WYSIWYG Publishing and Fonts........................................................................................................2 8.TeX / LaTeX.........................................................................................................................................2 9.Getting Fonts For Linux.......................................................................................................................2
    [Show full text]
  • Ghostscript and Mupdf Status Openprinting Summit April 2016
    Ghostscript and MuPDF Status OpenPrinting Summit April 2016 Michael Vrhel, Ph.D. Artifex Software Inc. San Rafael CA Outline Ghostscript overview What is new with Ghostscript MuPDF overview What is new with MuPDF MuPDF vs Ghostscript MuJS, GSView The Basics Ghostscript is a document conversion and rendering engine. Written in C ANSI 1989 standard (ANS X3.159-1989) Essential component of the Linux printing pipeline. Dual AGPL/Proprietary licensed. Artifex owns the copyright. Source and documentation available at www.ghostscript.com Graphical Overview PostScript PCL5e/c with PDF 1.7 XPS Level 3 GL/2 and RTL PCLXL Ghostscript Graphics Library High level Printer drivers: Raster output API: Output drivers: Inkjet TIFF PSwrite PDFwrite Laser JPEG XPSwrite Custom etc. CUPS Devices Understanding devices is a major key to understanding Ghostscript. Devices can have high-level functionality. e.g. pdfwrite can handle text, images, patterns, shading, fills, strokes and transparency directly. Graphics library has “default” operations. e.g. text turns into bitmaps, images decomposed into rectangles. In embedded environments, calls into hardware can be made. Raster devices require the graphics library to do all the rendering. Relevant Changes to GS since last meeting…. A substantial revision of the build system and GhostPDL directory structure (9.18) GhostPCL and GhostXPS "products" are now built by the Ghostscript build system "proper" rather than having their own builds (9.18) New method of internally inserting devices into the device chain developed. Allows easier implementation of “filter” devices (9.18) Implementation of "-dFirstPage"/"-dLastPage" with all input languages (9.18) Relevant Changes to GS since last meeting….
    [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]