Kazuraki : Under The Hood



Similar documents
Rendering/Layout Engine for Complex script. Pema Geyleg

Red Hat Enterprise Linux International Language Support Guide

Introduction to Unicode. By: Atif Gulzar Center for Research in Urdu Language Processing

Japanese Character Printers EPL2 Programming Manual Addendum

When older typesetting methods gave

Gaiji: Characters, Glyphs, Both, or Neither?

Standard Screen Current Alarm Display. Sample Screen Manual. Mitsubishi Electric Corporation

Keyboards for inputting Japanese language -A study based on US patents

Plot the following two points on a graph and draw the line that passes through those two points. Find the rise, run and slope of that line.

User Guide. Printing Unicode characters from SAP to SATO GT4xxe Printers. Version

What s New in QuarkXPress 8

Charts for SharePoint

What's New in QuarkXPress 10

HKSCS-2004 Support for Windows Platform

Graphic Standards Manual

The Unicode Standard Version 8.0 Core Specification

clipper design Issue 6 January 2016 Extract

Course Syllabus. Technical Writing Certificate - Basic

Internationalizing the Domain Name System. Šimon Hochla, Anisa Azis, Fara Nabilla

Master of Engineering in Technical Japanese

The Unicode Standard Version 8.0 Core Specification

Using Mobile Phones and QR Codes for Formative Class Assessment

The How To for Chapters to conduct successful Professional Development Webinars

Table of Contents. What is ProSite? What is Behance? How do ProSite & Behance work together? Get Started in 6 Easy Steps.

FileMaker Pro 7. User s Guide

Scientific Graphing in Excel 2010

HOW TO USE A KANJI DICTIONARY

TypeTool 3. basic font editor for fast and easy font creation, conversion and modification User s manual for windows

Book Typography Checklist

Adobe InDesign Server CS2

Encoding script-specific writing rules based on the Unicode character set

Any Software Any Language Instantly!

Word processing software

PitStop Pro and PitStop Server 13 update 1 include a host of new and improved functionality to serve a wide variety of environments:

Equations. #1-10 Solve for the variable. Inequalities. 1. Solve the inequality: Solve the inequality: 4 0

Unit 3 - Lesson 3. MM3A2 - Logarithmic Functions and Inverses of exponential functions

QuarkCopyDesk ReadMe

Internationalized Domain Names -

Mobile Strategy and Design

HP Business Notebook Password Localization Guidelines V1.0

Mac OS X 10 Using the Keyboard Viewer and Character Palette

White Paper. Translation Quality - Understanding factors and standards. Global Language Translations and Consulting, Inc. Author: James W.

Multi-lingual Label Printing with Unicode

PaperlessPrinter. Version 3.0. User s Manual

Generating lesson plans with. Adobe Acrobat

Basics: Set Options and Customize

The Virtual Tibetan Classroom

Creating Forms with Acrobat 10

Unicode in Mobile Phones

Word Processing programs and their uses

Forest Stewardship Council

BAR CODE CONTROL BAR CODE CONTROL - 1

A New Imaging System with a Stand-type Image Scanner Blinkscan BS20

Chapter 19 Magnetic Forces and Fields

Pageflex Persona Cross Media Suite

Index. Registry Report

Kit Rowley. Subject: Content type and workflow planning (SharePoint Server 2010) Attachments: image001.gif. Plan content types. Plan content types

CyI DOCTORAL THESIS TEMPLATE 1

Unicode Security. Software Vulnerability Testing Guide. July 2009 Casaba Security, LLC

Microsoft Publisher 2010 What s New!

How to build text and objects in the Titler

Introductory Tutorial on ScalIT File and Document Management

ZABBIX. An Enterprise-Class Open Source Distributed Monitoring Solution. Takanori Suzuki MIRACLE LINUX CORPORATION October 22, 2009

How to create business cards manually in WordPerfect without using a template Project

6. If you want to enter specific formats, click the Format Tab to auto format the information that is entered into the field.

Cloud Portal for imagerunner ADVANCE

Binary Representation

Creating Charts in Microsoft Excel A supplement to Chapter 5 of Quantitative Approaches in Business Studies

BASIC LOGO, DBA GUIDELINES AND yard SIGN GUIDELINES Updated 8/12/13

Overview. Understanding the Japanese written language. Adobe FrameMaker 7.0 Japanese Publishing with Adobe FrameMaker 7.0. Japanese characters

PASTPERFECT-ONLINE DESIGN GUIDE

Microsoft Access 2010 Tables & Field Properties

How to make more than one math OpenType font

Website Editor User Guide

Sitecore InDesign Connector 1.1

TransType. pro. Mac, PC, PostScript, TrueType, OpenType universal font converter User s manual for windows

3. In the Name field, enter a unique name for the task pad. Note that this name might be visible to cashiers.

Internationalizing JavaScript Applications Norbert Lindenberg. Norbert Lindenberg All rights reserved.

Exploring Geometric Transformations in a Dynamic Environment Cheryll E. Crowe, Ph.D. Eastern Kentucky University

Internationalization & Localization

L2/ Abstract Introduction

The Japan Society of Mechanical Engineers C 2010

How to Prepare a Book for Press With Scribus

Content Control. Admin Guide

Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration

Cataloging in East Asia Library of Yale University

Continue reading to learn how to submit your customs documents electronically using FedEx Electronic Trade Documents.

WYSIWYG Tips and FAQ

300 Scheduling and Budgeting

Language Translation Services RFP Issued: January 1, 2015

FileMaker Pro 12 Advanced. Database Design Report XML Output Grammar

3.2 LOGARITHMIC FUNCTIONS AND THEIR GRAPHS. Copyright Cengage Learning. All rights reserved.

Adobe Dreamweaver CC 14 Tutorial

List the elements of the given set that are natural numbers, integers, rational numbers, and irrational numbers. (Enter your answers as commaseparated

Centricity Enterprise Web 3.0 DICOM Conformance Memo DOC

Transcription:

Kazuraki : Under The Hood Dr. Ken Lunde Senior Computer Scientist Adobe Systems Incorporated

Why Develop Kazuraki? To build excitement and awareness about OpenType Japanese fonts Kazuraki is the first fully-proportional OpenType Japanese font To demonstrate OpenType layout capabilities of Adobe applications To guide other type foundries to design and develop comparable fonts The interest is not only in Japan, but extends to other East Asian countries Kazuraki serves as an inspiration and model for other type foundries Adobe Tech Note #5901 was specifically authored for this purpose To expose poor assumptions in applications and font development tools So that they can be identified then subsequently fixed 2

The Problem: Non-Standard Glyph Set Virtually all glyphs require separate vertical forms The glyphs may be identical, but shifting and metrics necessitate separate glyphs For a very small number of glyphs, there are only vertical forms Specialized glyphs Two-, three-, and four-character vertical hiragana ligatures Conclusion: Kazuraki does not fit the Adobe-Japan1-x ROS (glyph set) ROS is an abbreviation for the three /CIDSystemInfo dictionary elements /Registry, /Ordering & /Supplement The Adobe-Japan1-x ROS is the industry standard for OpenType Japanese fonts 3

The Solution: The Special-Purpose Adobe-Identity-0 ROS A dynamic, locale-unspecific special-purpose glyph set Specified in the /CIDSystemInfo dictionary Locale and language are specified via other attributes in the OpenType font Via the OS/2 and name tables 4

OpenType Implementation Details Two very important goals 1. Proportional metrics are the default palt and vpal GPOS features are not used 2. Vertical hiragana ligatures are on by default Solutions Proportional metrics are specified as default in standard OpenType tables hmtx and vmtx Vertical hiragana ligatures are accessible via the liga GSUB feature GSUB feature lookup ordering is important vert (and vrt2 ) before liga Clients OSes, applications, and libraries must respect feature lookup ordering Serves as an example for other type foundries to follow The production techniques are described and detailed in Adobe Tech Note #5901 Includes Japanese and Chinese translations 5

OpenType Production Process The data is first built as an intermediate OpenType font with standard features The glyphs are optically centered within the 1000 1000 em-box With mono-spaced 1000-unit horizontal and vertical advances The palt and vpal GPOS features provide shifting values and new widths The horizontal and vertical glyphs require X- and Y-axis shifting, respectively Intermediate glyphs are named according to Adobe-Japan1-x CIDs In order to leverage existing Adobe-Japan1-x resources UTF-32 CMap resource and GSUB features Ligatures were named as sequences of Adobe-Japan1-x CIDs Proportional Latin glyphs were added Brioso Pro Semibold Display scaled to 108% 6

OpenType Production Process (cont d) An elaborate Perl script was used to process the data The separate vertical glyphs were created by an AFDKO mergefonts tool mapping file The palt (horizontal) GPOS metrics were converted to AFDKO rotatefont tool directives X-axis shifting and new horizontal advances The vpal (vertical) GPOS metrics were converted to vmtx table overrides Y-axis shifting and new vertical advances The Unicode CMap resource, for generating the cmap table, was automatically created Adobe-Japan1-x CIDs were used to leverage existing UTF-32 CMap resources The vert and liga GSUB features were automatically created The same Perl script was used for the production of all three versions Prototype 1,223 glyphs (297 kanji, 17 vertical hiragana ligatures) Version 1 2,973 glyphs (1,082 kanji, 50 vertical hiragana ligatures) shipped Version 2 3,776 glyphs (1,483 kanji, 51 vertical hiragana ligatures) shipping 7

Horizontal & Vertical Metrics: U+5FC5 Kazuraki sources Final Kazuraki glyph CIDs 1531 (horizontal) and 3390 (vertical) 必 Horizontal metrics directives recorded in CFF and hmtx tables 1,376-unit advance wide 154-unit right shift Vertical metrics directives recorded in vmtx table 835-unit advance short 125-unit upward shift 8

Horizontal & Vertical Metrics: U+5FC5 (cont d) Two mergefonts mapping files establishes the Adobe-Identity-0 CIDs Horizontal 1531 CID3486 Vertical 3390 CID3486 One rotatefont mapping file proportional horizontal glyph 1531 1531 1376 154 0 3390 3390 None 0 0 The vmtx table overrides in the features file proportional vertical glyph VertOriginY \3390 755; # 880 125 VertAdvanceY \3390 835; 9

Horizontal & Vertical Metrics: U+5FC5 (cont d) 2012 Adobe Systems 10 Incorporated. All Rights Reserved.

Vertical Hiragana Ligature Metrics Final Kazuraki glyph: CID+3730 (vertical only) (ureshiku) Horizontal metrics directives recorded in CFF and hmtx tables (unused) Default advance (1000 units) No shift Vertical metrics directives recorded in vmtx table 3,219-unit advance very tall 1,119-unit downward shift 11

Vertical Hiragana Ligature Metrics (cont d) One mergefonts mapping file establishes the Adobe-Identity-0 CID 3730 CID847CID917CID864CID856v One rotatefont mapping file no metrics changes 3730 3730 None 0 0 The vmtx table overrides in the features file proportional vertical glyph VertOriginY \3730 1999; # 880 + 1,119 VertAdvanceY \3730 3219; 12

Vertical Considerations Small kana and punctuation require separate vertical forms in standard fonts They are repositioned, rotated, or rotated+flipped Kazuraki requires separate vertical forms for all kana, kanji, and punctuation The glyphs are otherwise identical Why are separate vertical forms necessary? The genuine proportional nature of the design necessitates X- and Y-axis shifting Horizontal requires X-axis shifting Vertical required Y-axis shifting The OpenType table that records default vertical metrics does not support X-axis shifts The vmtx table can record only vertical widths and Y-axis shifts Thanks to subroutinization, the difference in filesize is minimal The AFDKO makeotf tool, an OpenType font compiler, applies subroutinization by default 13

Glyph Set Details All kana hiragana and katakana Punctuation and symbols A total of 51 two-, three-, and four-character vertical hiragana ligatures 1,483 kanji All 1,006 Gakushū Kanji () are included Proportional Latin 150 glyphs from Brioso Pro Semibold Display, scaled to 108% 3,776 total glyphs CIDs 0 through 3775 CIDs 1 through 1863: horizontal glyphs (Latin, punctuation, symbols, kana, and kanji) CIDs 1864 through 3722: vertical forms of CIDs 1 through 1863 CIDs 3723 through 3775: vertical hiragana ligatures and kana iteration marks 14

Useful URLs AFDKO http://www.adobe.com/devnet/opentype/afdko.html Adobe Type Showroom http://www.adobe.com/type/ Adobe s CJK Type Blog http://blogs.adobe.com/ccjktype/ Adobe Tech Note #5901 http://www.adobe.com/devnet/font/pdfs/5901.kazuraki_tutorial.pdf OpenType Specification http://www.microsoft.com/typography/otspec/ 15