Truetype 1.0 Font Files Technical Specification Revision 1.66 August

Truetype 1.0 Font Files Technical Specification Revision 1.66 August

TrueType 1.0 Font Files Technical Specification Revision 1.66 August 1995 M 1 Microsoft Way Redmond, Washington 98052 Information in this document is subject to change without notice and does not represent a commitment on the part of Microsoft Corporation. The software described in this document in furnished under a license agreement or nondisclosure agreement. The software may be used or copied only in accordance with the terms of the agreement. It is against the law to copy the software on any medium except as specifically allowed in the license or nondisclosure agreement. No part of this manual may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, for any purpose without the express written permission of Microsoft. Portions of this manual are copyrighted by Apple Computer, Inc. U.S. Government Restricted Rights The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c) (1) and (2) of the Commercial Computer Software -- Restricted Rights at 48 CFR 52.227-19, as applicable. Contractor/manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399. © 1990-1995 Microsoft Corporation. All rights reserved. Microsoft, MS, MS-DOS, GW-BASIC, QuickC, CodeView, XENIX, and Wingdings are registered trademarks, and Windows is a trademark of Microsoft Corporation. Apple, the Apple logo, MPW, LaserWriter, and Macintosh are registered trademarks, and TrueType is a trademark of Apple Computer, Inc. PostScript is a registered trademark of Adobe Systems Incorporated. ITC Zapf Dingbats is a registered trademark of International Typeface Corporation. OS/2 is a registered trademark of International Business Machines Corporation. Helvetica is a trademark of Linotype AG. Times New Roman is a trademark of The Monotype Corporation plc and is registered in the U.S. Patent and Trademark Office and elsewhere. Revision History Revision Date Comment 1.66 9 August 1995 Updates to bit settings for ulCodePageRange and ulUnicodeRange fields in the OS/2 table 1.65 19 July 1995 Reprint of rev 1.65, typos corrected, VendID table updated, note added to loca about long-aligning local offsets 1.65 18 January 1995 Added tables: gasp, new OS/2, vhea, vmtx, EBDT, EBLC, EBSC; TTC’s; minor corrections and clarifications throughout; reorganized spec. 1.50 21 January 1994 Added smart scan control, Grayscale support, and minor corrections throughout 1.02 19 May 1993 Update to OS/2 table fsType field description 1.01 19 January 1993 Minor corrections throughout 1.00 9 June 1992 Original release Table of Contents Preface Part 1 - Fundamentals Chapter 1 - TrueType Fundamentals ................................................. 3 From design to font file ......................................................................... 3 From font file to paper .......................................................................... 4 Digitizing a design ................................................................................ 5 Scaling a glyph .................................................................................... 13 Grid-fitting a glyph outline ................................................................. 16 The scan converter .............................................................................. 24 Part 2 - TrueType Font Files Chapter 2 - The TrueType Font File ................................................. 31 Data Types .......................................................................................... 31 The Table Directory ............................................................................ 32 'cmap' - Character To Glyph Index Mapping Table ............................ 35 'cvt ' - Control Value Table ................................................................. 41 ‘EBDT’ - Bitmap Data ........................................................................ 42 ‘EBLC’ - Bitmap Data Locations ....................................................... 46 ‘EBSC’ - Bitmap Data Scaling ........................................................... 55 'fpgm' - Font Program ......................................................................... 56 'gasp' - Grid-fitting and Scan Conversion Procedure .......................... 57 'glyf' - Glyph Data ............................................................................... 59 'hdmx' - Horizontal Device Metrics .................................................... 64 'head' - Font Header ............................................................................ 65 'hhea' - Horizontal Header ................................................................... 67 'hmtx' - Horizontal Metrics ................................................................. 68 'kern'- Kerning ..................................................................................... 69 'loca' - Index to Location ..................................................................... 74 'LTSH' - Linear Threshold .................................................................. 75 Revision 1.66 Page i File Name: _toc.doc Table of Contents 'maxp' - Maximum Profile ...................................................................76 'name' - Naming Table .........................................................................77 'OS/2' - OS/2 and Windows Metrics ....................................................83 'PCLT' - PCL 5 Table.........................................................................103 'post' - PostScript ................................................................................110 'prep' - Control Value Program ..........................................................113 'VDMX' - Vertical Device Metrics ....................................................114 ‘vhea’ - Vertical Metrics Header .......................................................117 ‘vmtx’ - Vertical Metrics ...................................................................120 Chapter 3 - Recommendations for Windows Fonts ..................... 123 Table Requirements & Recommendations ........................................123 General Recommendations ................................................................128 Embedded Bitmaps ............................................................................131 TrueType Collection Files (TTC’s) ...................................................132 Chapter 4 - Character Sets ............................................................. 135 Introduction ........................................................................................135 Microsoft Platform Requirements......................................................136 Macintosh Platform Requirements ....................................................137 Character Set Specifications: WGL4, Win31, UGL, and Macintosh 138 Part 3 - The TrueType Instruction Set Chapter 5 - Instructing Glyphs ...................................................... 163 Choosing a scan conversion setting ...................................................163 Controlling rounding ..........................................................................163 Points..................................................................................................164 Determining distances ........................................................................168 Controlling movement .......................................................................171 Managing the direction of distances ..................................................173 Interpolating points ............................................................................174 Maintaining minimum_distance ........................................................174 Controlling regularization using the cut_in .......................................175 Managing at specific sizes .................................................................178 Page ii Revision 1.66 File Name: _toc.doc Table of Contents Chapter 6 - The TrueType Instruction Set ..................................... 181 Anatomy of a TrueType Instruction ................................................. 181 Data types .......................................................................................... 186 Pushing data onto the interpreter stack ............................................. 188 Managing the Storage Area .............................................................. 193 Managing the Control Value Table ................................................... 196 Managing the Graphics State ............................................................ 200 Reading and writing data .................................................................. 254 Managing outlines ............................................................................. 262 Managing exceptions ........................................................................ 292 Managing the stack ........................................................................... 302 Managing the flow of control ........................................................... 311 Logical functions .............................................................................. 321 Arithmetic and math instructions ...................................................... 335 Compensating for engine characteristics .........................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    408 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us