Context-Dependent and Directional Text

Total Page:16

File Type:pdf, Size:1020Kb

Context-Dependent and Directional Text Technical Standard Portable Layout Services: Context-Dependent and Directional Text NICAL H S C T A E N T D A R D [This page intentionally left blank] CAE Specification Portable Layout Services: Context-dependent and Directional Text The Open Group February 1997, The Open Group All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owners. CAE Specification Portable Layout Services: Context-dependent and Directional Text ISBN: 1-85912-142-X Document Number: C616 Published in the U.K. by The Open Group, February 1997. Any comments relating to the material contained in this document may be submitted to: The Open Group Apex Plaza Forbury Road Reading Berkshire, RG1 1AX United Kingdom or by Electronic Mail to: [email protected] ii CAE Specification (1997) Contents Chapter 1 Introduction............................................................................................... 1 1.1 Scope.............................................................................................................. 1 1.2 Example ........................................................................................................ 2 1.3 Target Audience .......................................................................................... 3 1.4 Approach...................................................................................................... 3 Chapter 2 Complex-Text Languages — An Overview ............................ 5 2.1 Complex-text Languages .......................................................................... 5 2.1.1 Layout Transformations and Related Attributes .............................. 6 2.2 Bidirectional Languages............................................................................ 7 2.2.1 The Arabic Languages and their Writing System ............................. 7 2.2.2 The Hebrew Language and its Writing System................................. 9 2.3 Aspects of Bidirectional Language Writing Systems .......................... 11 2.3.1 Bidirectionality......................................................................................... 11 2.3.2 Shaping ...................................................................................................... 14 2.3.3 National Numbers................................................................................... 16 2.3.4 Bidirectional Data Entry......................................................................... 16 2.3.5 Common User Access and Bidirectional Languages ....................... 17 2.4 Thai Language and its Writing System .................................................. 18 2.4.1 Writing Thai Characters — Graphic Representation ....................... 18 2.4.2 Thai Written Symbols ............................................................................. 19 2.4.3 Writing Order ........................................................................................... 20 2.4.4 What is a Thai Character? ...................................................................... 20 2.4.5 Thai Numbers........................................................................................... 21 2.4.6 Character Composition .......................................................................... 21 2.4.7 Thai Character Rendering...................................................................... 21 2.5 Korean Language and its Writing System ............................................. 23 2.5.1 Hangul Writing System .......................................................................... 23 2.5.2 Character Set Considerations................................................................ 25 2.6 Conclusions and Guidelines..................................................................... 26 Chapter 3 Interface Overview................................................................................ 27 3.1 Opaque Data ................................................................................................ 27 3.2 Functions ...................................................................................................... 27 3.3 Descriptors and Data Types...................................................................... 28 Chapter 4 Header File <sys/layout.h> .............................................................. 29 4.1 LayoutObject................................................................................................ 29 4.1.1 Association with Attribute Objects and Locales............................... 29 4.1.2 LayoutObject Content............................................................................. 29 4.2 Layout Values ............................................................................................. 30 4.2.1 Descriptors................................................................................................ 30 Portable Layout Services: Context-dependent and Directional T ext iii Contents 4.2.2 Layout Value Data Types ....................................................................... 37 4.3 Layout Modifiers......................................................................................... 39 Chapter 5 Layout APIs................................................................................................ 45 m_create_layout( )............................................................................................ 46 m_destroy_layout( ) ......................................................................................... 47 m_getvalues_layout( )...................................................................................... 48 m_setvalues_layout( ) ...................................................................................... 49 m_transform_layout( )..................................................................................... 50 m_wtransform_layout( ).................................................................................. 54 5.1 Notes.............................................................................................................. 59 Appendix A Implementation Example.................................................................. 61 Appendix B LO_LTYPE Locale Category............................................................. 69 B.1 Character Classifications Related to Directionality............................. 69 B.2 Character Classifications of Control Characters.................................. 70 B.3 Character Classifications of National Numbers .................................. 70 B.4 Character Classifications of Composite Graphic Symbols ................ 70 B.5 Mapping Keywords.................................................................................... 71 B.6 Character Classification Related to Character Connectivity............. 72 Appendix C Dynamic Pluggable Interface......................................................... 73 C.1 Operating System Requirement .............................................................. 73 C.2 Design............................................................................................................ 74 C.3 Data Structure.............................................................................................. 75 C.4 Calling Sequence......................................................................................... 77 C.5 Sample Code ................................................................................................ 78 C.6 Common Naming for Layout Values ..................................................... 80 Glossary ....................................................................................................... 83 Index............................................................................................................... 91 List of Examples 2-1 Example of Symmetrical Swapping........................................................... 14 A-1 Internationalised Motif Program to Support Layout APIs ................... 61 A-2 Storage to Explicit Controls......................................................................... 65 A-3 Explicit to Visual Buffer................................................................................ 66 List of Figures 1-1 Layout Transformations in Motif ............................................................... 2 2-1 Arabic, Farsi and Urdu Characters............................................................. 7 2-2 The Arabic Character Ghayn in its Different Shapes ............................. 9 2-3 Shape of the National Numbers in Arabic, Farsi and Urdu.................. 9 2-4 Hebrew Alphabet........................................................................................... 10 iv CAE Specification (1997) Contents 2-5 Hebrew Long Vowels.................................................................................... 10 2-6 Hebrew Final Letters..................................................................................... 10 2-7 Thai Text Example ......................................................................................... 18 2-8 Shape of the National Numbers in Thai ................................................... 21 2-9 Korean Writing Direction............................................................................. 24 2-10 Syllable Composition and Writing Direction in Hangul....................... 25 List of Tables 3-1 Standard Layout Values
Recommended publications
  • Computers and the Thai Language
    [3B2-6] man2009010046.3d 12/2/09 13:47 Page 46 Computers and the Thai Language Hugh Thaweesak Koanantakool National Science and Technology Development Agency Theppitak Karoonboonyanan Thai Linux Working Group Chai Wutiwiwatchai National Electronics and Computer Technology Center This article explains the history of Thai language development for computers, examining such factors as the language, script, and writing system, among others. The article also analyzes characteristics of Thai characters and I/O methods, and addresses key issues involved in Thai text processing. Finally, the article reports on language processing research and provides detailed information on Thai language resources. Thai is the official language of Thailand. Certain vowels, all tone marks, and diacritics The Thai script system has been used are written above and below the main for Thai, Pali, and Sanskrit languages in Bud- character. dhist texts all over the country. Standard Pronunciation of Thai words does not Thai is used in all schools in Thailand, and change with their usage, as each word has a most dialects of Thai use the same script. fixed tone. Changing the tone of a syllable Thai is the language of 65 million people, may lead to a totally different meaning. and has a number of regional dialects, such Thai verbs do not change their forms as as Northeastern Thai (or Isan; 15 million with tense, gender, and singular or plural people), Northern Thai (or Kam Meuang or form,asisthecaseinEuropeanlanguages.In- Lanna; 6 million people), Southern Thai stead, there are other additional words to help (5 million people), Khorat Thai (400,000 with the meaning for tense, gender, and sin- people), and many more variations (http:// gular or plural.
    [Show full text]
  • International Language Environments Guide
    International Language Environments Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 806–6642–10 May, 2002 Copyright 2002 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, docs.sun.com, AnswerBook, AnswerBook2, Java, XView, ToolTalk, Solstice AdminTools, SunVideo and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. SunOS, Solaris, X11, SPARC, UNIX, PostScript, OpenWindows, AnswerBook, SunExpress, SPARCprinter, JumpStart, Xlib The OPEN LOOK and Sun™ Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry.
    [Show full text]
  • Development Production Line the Short Story
    Development Production Line The Short Story Jene Jasper Copyright © 2007-2018 freedumbytes.dev.net (Free Dumb Bytes) Published 3 July 2018 4.0-beta Edition While every precaution has been taken in the preparation of this installation manual, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To get an idea of the Development Production Line take a look at the following Application Integration overview and Maven vs SonarQube Quality Assurance reports comparison. 1. Operating System ......................................................................................................... 1 1.1. Windows ........................................................................................................... 1 1.1.1. Resources ................................................................................................ 1 1.1.2. Desktop .................................................................................................. 1 1.1.3. Explorer .................................................................................................. 1 1.1.4. Windows 7 Start Menu ................................................................................ 2 1.1.5. Task Manager replacement ........................................................................... 3 1.1.6. Resource Monitor .....................................................................................
    [Show full text]
  • PTOCA Reference (Presentation Text Object Content Architecture
    Advanced Function Presentation Consortium Data Stream and Object Architectures Presentation Text Object Content Architecture Reference AFPC-0009-03 Note: Before using this information, read the information in “Notices” on page 171. AFPC-0009-03 Fourth Edition (March 2016) This edition applies to the Presentation Text Object Content Architecture (PTOCA). It is the first edition produced by the AFP Consortium™(AFPC™) and replaces and makes obsolete the previous edition, SC31-6803-02, published by the IBM® Corporation. This edition remains current until a new edition is published. Specific changes are indicated by a vertical bar to the left of the change. For a detailed list of the changes, see “Summary of Changes” on page ix. Internet Visit our home page: www.afpcinc.org Copyright © AFP Consortium 1997, 2016 ii Preface This book describes the functions and services associated with the Presentation Text Object Content Architecture (PTOCA) architecture. This book is a reference, not a tutorial. It complements individual product publications, but does not describe product implementations of the architecture. Who Should Read This Book This book is for systems programmers and other developers who need such information to develop or adapt a product or program to interoperate with other presentation products. Copyright © AFP Consortium 1997, 2016 iii AFP Consortium AFP Consortium (AFPC) The Advanced Function Presentation™(AFP™) architectures began as the strategic, general purpose document and information presentation architecture for the IBM Corporation. The first specifications and products go back to 1984. Although all of the components of the architecture have grown over the years, the major concepts of object-driven structures, print integrity, resource management, and support for high print speeds were built in from the start.
    [Show full text]
  • Higher Quality 2D Text Rendering
    Journal of Computer Graphics Techniques Vol. 2, No. 1, 2013 Higher Quality 2D Text Rendering http://jcgt.org Higher Quality 2D Text Rendering Nicolas P. Rougier INRIA No hinting Native hinting Auto hinting Vertical hinting Figure 1. When displaying text on low-resolution devices (DPI < 150), one typically has to decide if one wants to respect the pixel grid (e.g., Cleartype technology / Microsoft / native hinting) for crisp rendering or, to privilege glyph shapes (Quartz technology / Apple / no hinting) at the cost of blurring. There is, however, a third way that may combine the best of the two technologies (vertical hinting). Abstract Even though text is pervasive in most 3D applications, there is surprisingly no native sup- port for text rendering in OpenGL. To cope with this absence, Mark Kilgard introduced the use of texture fonts [Kilgard 1997]. This technique is well known and widely used and en- sures both good performances and a decent quality in most situations. However, the quality may degrade strongly in orthographic mode (screen space) due to pixelation effects at large sizes and to legibility problems at small sizes due to incorrect hinting and positioning of glyphs. In this paper, we consider font-texture rendering to develop methods to ensure the highest quality in orthographic mode. The method used allows for both the accurate render- ing and positioning of any glyph on the screen. While the method is compatible with complex shaping and/or layout (e.g., the Arabic alphabet), these specific cases are not studied in this article. 50 Journal of Computer Graphics Techniques Vol.
    [Show full text]
  • On the History of Thai Scripts Hans Penth
    Dr. Hans Penth giving his address to the audience or the Oriental Dr. Navavan Bandhumedha talking about the different Tai Hotel on 10 July 1986. Languages at the Oriental Hotel on 10 July 1986. On the History of Thai scripts Hans Penth (From lecture delivered during a meeting of groups were living scattered over a vast area, that the Siam Society, held at the Oriental Hotel, on borrowing of local Man letters by local Thai groups Thursday, 10 July 1986) had the effect to produce, right from the outset, a number of slightly different local proto-Thai scripts Dr. Pe nth pointed out in his introductory which were spread out over a large geographical remarks that the history of the alphabets used by area. the Thais throughout Southeast Asia was still insufficiently known but there were many theories. (3) In the decades around 1300 A.D., efforts He hoped he would be excused if he too come up to reform the old proto-Thai script were made in with certain ideas concerning the origin and both Sukhothai and Chiang Mai. These efforts mark development of the scripts used by tlie Thais, from the turning point from proto-Thai script to modern Assam in the west to Tongking in the east, and from Thai script. Yunnan in the north to Thailand in the south, and (4) Also during the decades before or around referred listeners for further information to his article 1300 A.D., the Thais of Sukhothai and the Thais included in H.R.H. Galyani Vadhana's book on of Chiang Mai did something else that was identical: Yunnan.
    [Show full text]
  • (RSEP) Request October 16, 2017 Registry Operator INFIBEAM INCORPORATION LIMITED 9Th Floor
    Registry Services Evaluation Policy (RSEP) Request October 16, 2017 Registry Operator INFIBEAM INCORPORATION LIMITED 9th Floor, A-Wing Gopal Palace, NehruNagar Ahmedabad, Gujarat 380015 Request Details Case Number: 00874461 This service request should be used to submit a Registry Services Evaluation Policy (RSEP) request. An RSEP is required to add, modify or remove Registry Services for a TLD. More information about the process is available at https://www.icann.org/resources/pages/rsep-2014- 02-19-en Complete the information requested below. All answers marked with a red asterisk are required. Click the Save button to save your work and click the Submit button to submit to ICANN. PROPOSED SERVICE 1. Name of Proposed Service Removal of IDN Languages for .OOO 2. Technical description of Proposed Service. If additional information needs to be considered, attach one PDF file Infibeam Incorporation Limited (“infibeam”) the Registry Operator for the .OOO TLD, intends to change its Registry Service Provider for the .OOO TLD to CentralNic Limited. Accordingly, Infibeam seeks to remove the following IDN languages from Exhibit A of the .OOO New gTLD Registry Agreement: - Armenian script - Avestan script - Azerbaijani language - Balinese script - Bamum script - Batak script - Belarusian language - Bengali script - Bopomofo script - Brahmi script - Buginese script - Buhid script - Bulgarian language - Canadian Aboriginal script - Carian script - Cham script - Cherokee script - Coptic script - Croatian language - Cuneiform script - Devanagari script
    [Show full text]
  • Font Features for Scheherazade
    Font Features for Scheherazade The Scheherazade font includes a number of optional features that provide alternative rendering that might be preferable for use in some contexts. The chart below enumerates the details of these features. Whether these features are available to users will depend on both the application and the rendering technology (Graphite or OpenType) being used. Most features are available in both Graphite and OpenType, though there may be minor differences in their implementation. In LibreOffice 3.4.2+ (http://www.libreoffice.org/download/) or OpenOffice 3.2+ (http://www.openoffice.org/download/) the features are available only when Graphite rendering is enabled (the default). Features can be turned on by choosing the font (i.e., Scheherazade), followed by a colon, followed by the feature ID, and then followed by the feature setting. So, for example, if the “Kurdish-style Heh” is desired, the font selection would be “Scheherazade:cv48=3”. If you wish to apply two (or more) features, you can separate them with an “&”. Thus, “Scheherazade:cv48=3&cv44=1” would apply the “Kurdish-style Heh” plus the “Sindhi-style Meem” feature. In Mozilla Firefox, with either Graphite or OpenType rendering, features can be accessed using the appropriate CSS markup. A description of how to use the font features in Mozilla Firefox can be found here: http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_firefox#cf8a0574 (the technique described there works for both Graphite and OpenType). Ideally the selection of these font features is done in application programs, but many applications do not yet support this functionality.
    [Show full text]
  • 3. Pronunciation & Phonetic Letters Guide
    หน้า ๒๙ : Nâa 29 PRONUNCIATION GUIDE It is important to read this section thoroughly if your aim is to learn to speak Thai using phonetic letters or transliteration. Skip this only if you can read Thai script. What are Phonetic Letters? There are many different practices for learning to speak a language without learning the scripts of the language. Romanisation is the conversion of writing from a different writing system to the Roman (Latin) script, or a system for doing so. Methods of romanisation include transliteration, for representing written text, and transcription, for representing the spoken word, and combinations of both. Phonetic transcription (also known as Phonetic Script or Phonetic Notation) is the visual representation of speech sounds (or phones). The most common type of phonetic transcription use a phonetic alphabet such as the International Phonetic Alphabet (IPA). Transliteration is the practice of converting a text from one script into another by writing or printing (a letter or word) using the closest corresponding letters of a different alphabet or language. Royal Thai Phonetic Alphabet (RPA) is a system used as a standard for transcribing Thai words, names of a person, place, thing, into English. Romanisation In Thai is called ทับศัพท์ : Túb~Sùb or ทับเสียง : Túb~Sĕarng and colloquially called ภาษาคาราโอเกะ : Paa-săa Kaa-raa-o-ge’ = Karaoke language. (ทับ : Túb = place on top of, ศัพท์ : Sùb = vocabulary, เสียง : Sĕang = sound, คาราโอเกะ : Kaa- raa-o-ge’ = karaoke) At Thai Style, we have developed our own system using the English alphabet as phonetic letters. This is because we would like to compare the sounds in English and Thai by using the English alphabet, like if you are a native English speaker learning French which uses the same alphabet but some letters are pronounced with completely different sounds.
    [Show full text]
  • Javatm Internationalization Roadmap
    JavaTM Internationalization Roadmap by Brian Beck – [email protected] Stuart Gill – [email protected] Norbert Lindenberg – [email protected] John O’Conner – [email protected] Sun Microsystems Inc. Introduction The Java 2 platform as available today provides a strong foundation for the development of internationalized and multilingual applications. The functionality it provides covers all the core areas of internationalization: • It uses Unicode 2.1 as its built-in character data type. • The Locale class lets applications identify locales, allowing for truly multilingual applications. • The ResourceBundle class provides the foundation for localization, including localization for multiple locales in a single application container. • The Date, Calendar, and TimeZone classes provide the basis for time handling around the globe. • The String and Character classes as well as the java.text package contain rich functionality for text processing, formatting, and parsing. • Text stream input and output classes support converting text between Unicode and other character encodings. • Keyboard handling and the input method framework allow for text input in many languages. • The Java 2D™ system supports text rendering for many of the major languages, including bidirectional text handling for Arabic and Hebrew. • The text components in the Swing user interface toolkit provide plug-and-play text editing functionality that takes full advantage of the input method framework and the 2D rendering system. • Component orientation support lets applications switch their user interfaces between left- to-right and right-to-left layouts. To date, most of our internationalization support has been focused on European, Middle Eastern, and Far East Asian locales. Those locales are now reasonably well supported so we have begun to turn our attention to the locales of South and Southeast Asia.
    [Show full text]
  • INDIAN LANGUAGE SUPPORT in GNOME-TERMINAL B.Tech Information Technology
    INDIAN LANGUAGE SUPPORT IN GNOME-TERMINAL A Project Report Submitted by Kulkarni Swapnil 110708035 Kulkarni Mihir 110708033 DigeSourabh 110708020 in partial fulfilment for the award of the degree of B.Tech Information Technology Under the guidance of Prof. Abhijit A.M. College of Engineering, Pune DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATION TECHNOLOGY, COLLEGE OF ENGINEERING, PUNE-5 May, 2011 Acknowledgements We would sincerely like to acknowledge the following people who played a very im- portant role in the success of the project. They guided us from time to time and helped us whenever we were stuck at any point. We deeply appreciate their commitment and dedication towards the spread of Open Source and the Free Software Movement in general. Prof. Abhijit A.M. - Our guide and mentor throughout the project. We thank him for giving us the opportunity to work with him and in particular on this project and for spending invaluable time in critical moments of our project. Praveen Arimbrathodiyil, Pravin Satpute, Santhosh Thottingal - For provid- ing timely help and guidance. We would also like to thank Dr. Jibi Abraham [HOD Computer Engg. and Information Technology, COEP] and all the staff of Computer Engg. and Information Technology Department. Last but not the least, we would like to thank the whole FOSS community and the people involved in Indic Langauge Computing throughtout the world without whom this project would not have been a reality. DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATION TECHNOLOGY, COLLEGE OF ENGINEERING, PUNE CERTIFICATE Certified that this project, titled “INDIAN LANGUAGE SUPPORT IN GNOME- TERMINAL” has been successfully completed by Kulkarni Swapnil 110708035 Kulkarni Mihir 110708033 DigeSourabh 110708020 and is approved for the partial fulfilment of the requirements for the degree of “B.Tech.
    [Show full text]
  • Complex Text Layout Language Support in the Solaris Operating Environment
    Complex Text Layout Language Support in the Solaris Operating Environment Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303-4900 U.S.A. Part Number 806-5583 May 2000 Copyright 2000 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303-4900 U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, docs.sun.com, AnswerBook, AnswerBook2, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK and SunTM Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the Xerox Graphical User Interface, which license also covers Sun’s licensees who implement OPEN LOOK GUIs and otherwise comply with Sun’s written license agreements.
    [Show full text]