Documentation

    Table of Content
    • 3D File Formats
      • 3D File Formats
      • 3D2
      • 3DM
      • 3DS
      • 3MF
      • AMF
      • ASE
      • B3D
      • DAE
      • DBM
      • DRC
      • E57
      • FBX
      • GLB
      • GLTF
      • IPT
      • JT
      • MA
      • MB
      • MP
      • OBJ
      • PLY
      • POV
      • PRC
      • RVM
      • STEP
      • STP
      • U3D
      • USD
      • USDZ
      • VRML
      • X
      • X3D
    • Audio File Formats
      • Audio File Formats
      • 8SVX
      • AA
      • AAC
      • AAX
      • AC3
      • ACT
      • AIFF
      • ALAC
      • AMR
      • APE
      • CDA
      • DSS
      • EC3
      • EFS
      • FLAC
      • FLP
      • GSM
      • M3U
      • M3U8
      • M4A
      • M4B
      • M4P
      • M4R
      • MID
      • MKA
      • MMF
      • MOD
      • MP2
      • MP3
      • MPC
      • MTM
      • MUI
      • MXL
      • NSA
      • OGG
      • OPUS
      • RA
      • RF64
      • RIP
      • SDT
      • SF2
      • STAP
      • VOC
      • VOX
      • VQF
      • WAV
      • WEBA
      • WFP
      • WMA
      • WPL
      • WPROJ
      • WV
    • CAD File Formats
      • CAD File Formats
      • AFS
      • ART
      • ASC
      • ASM
      • AXM
      • BDC
      • CATPART
      • CF2
      • CIR
      • CPA
      • DC3
      • DGN
      • DST
      • DWF
      • DWFX
      • DWG
      • DWT
      • DXF
      • FZP
      • HPGL
      • IBA
      • IFC
      • IGES
      • IGS
      • JVSG
      • NC
      • NWC
      • NWD
      • NWF
      • OPT
      • PAT
      • PHJ
      • PLT
      • PSM
      • PSS
      • RFA
      • RFT
      • RML
      • RVT
      • SLDPRT
      • STL
    • Compression File Formats
      • Compression File Formats
      • 7Z
      • ACE
      • ALZ
      • APK
      • APZ
      • ARC
      • ARJ
      • B1
      • B6Z
      • BKF
      • BNDL
      • BZ2
      • CIT
      • DAA
      • DAR
      • DEB
      • DMG
      • DZ
      • ECS
      • FZPZ
      • GZ
      • GZIP
      • ICE
      • ISO
      • KGB
      • LBR
      • LQR
      • LZ
      • LZ4
      • LZH
      • LZMA
      • LZO
      • LZX
      • MBW
      • MINT
      • MPKG
      • MPQ
      • NPK
      • OAR
      • P7Z
      • PAGES
      • PEA
      • PET
      • PF
      • PKG
      • PTK
      • PUP
      • RAR
      • RPM
      • RTE
      • S00
      • SFG
      • SIFZ
      • SIT
      • SITX
      • SY_
      • TAR
      • TBZ
      • TGS
      • TGZ
      • TPSR
      • TZ
      • VPK
      • WHL
      • WUX
      • XAPK
      • XAR
      • XPI
      • XZ
      • Z
      • ZIM
      • ZIP
      • ZIPX
      • ZL
      • ZST
    • Database
      • Database File Formats
      • 4DB
      • 4DD
      • ABCDDB
      • ACCDB
      • ACCDC
      • ACCDE
      • ACCDR
      • ACCDT
      • ACCDW
      • ACCFT
      • ADB
      • ADE
      • ADF
      • ADN
      • ADP
      • ALF
      • ANB
      • AQ
      • ASK
      • BAK
      • BCP
      • BTR
      • CAT
      • CDB
      • CRYPT12
      • CRYPT14
      • DACPAC
      • DAT
      • DB
      • DB-WAL
      • DB3
      • DBC
      • DBF
      • DBS
      • DDL
      • DLIS
      • DSN
      • DTSX
      • EPIM
      • FDB
      • FIC
      • FMP12
      • FMPSL
      • FP5
      • FP7
      • GDB
      • ITW
      • LDF
      • LOG
      • MDB
      • MDF
      • MYI
      • NDF
      • NSF
      • SAV
      • SDF
      • SQL
      • SQLITE
      • TE
      • TRC
      • TRM
      • UDL
      • WDB
    • Disc and Media
      • Disc and Media File Formats
      • BIN
      • CCD
      • CSO
      • CUE
      • ECM
      • GADGET
      • IMG
      • ISZ
      • MDF
      • MDS
      • NKIT
      • NRG
      • NRI
      • OVA
      • OVF
      • ROM
      • SDI
      • TIB
      • Toast
      • UDF
      • VCD
      • VDI
      • VHD
      • VHDX
      • WBFS
      • WIM
      • WUD
    • EBook File Formats
      • EBook File Formats
      • ACSM
      • AEP
      • APNX
      • AVA
      • AZW
      • AZW1
      • AZW3
      • AZW4
      • BKK
      • BPNUEB
      • CBC
      • CBR
      • CBZ
      • CEB
      • CEBX
      • DNL
      • EA
      • EAL
      • EBK
      • EDN
      • EPUB
      • ETD
      • FB2
      • FKB
      • HAN
      • HTML0
      • HTMLZ
      • HTXT
      • HTZ4
      • HTZ5
      • IBOOKS
      • JWPUB
      • KFX
      • KOOB
      • LIT
      • LRF
      • LRS
      • LRX
      • MART
      • MBP
      • MOBI
      • NCX
      • NVA
      • OEB
      • OEBZIP
      • OPF
      • ORB
      • PHL
      • PML
      • PMLZ
      • POBI
      • PRC
      • QMK
      • RB
      • RZB
      • RZS
      • SNB
      • TCR
      • TK3
      • TPZ
      • TR
      • TR3
      • VBK
      • WEBZ
      • YBK
    • Email File Formats
      • Email File Formats
      • EDB
      • EML
      • EMLX
      • ICS
      • MBOX
      • MSG
      • OFT
      • OLM
      • OST
      • P7S
      • PST
      • RPMSG
      • TNEF
      • VCF
    • Executable
      • Executable File Formats
      • 8CK
      • AC
      • AHK
      • AIR
      • APP
      • BAT
      • BTAPP
      • CGI
      • CMD
      • COM
      • ELF
      • EXE
      • IPA
      • MSI
      • MST
      • PIF
      • PYC
      • REG
      • RUN
      • WSF
      • WSH
      • XAP
      • XBE
      • XEX
    • Finance
      • Finance File Formats
      • ABA
      • IXBRL
      • XBRL
    • Font
      • Font File Formats
      • BDF
      • CFF
      • CFF2
      • EOT
      • ETX
      • FNT
      • FON
      • FOT
      • GXF
      • JFPROJ
      • MFX
      • ODTTF
      • OTF
      • PFA
      • PFB
      • PFM
      • SFD
      • TTC
      • TTF
      • Type1
      • VFB
      • VLW
      • WOFF
      • WOFF2
    • Game File Formats
      • Game File Formats
      • BIN
      • BMZ
      • BNS
      • BO2
      • CLIP
      • CON
      • CSD
      • CT
      • DEK
      • FOMOD
      • GAM
      • GBX
      • GCF
      • KODU
      • LANG
      • LITEMOD
      • MCA
      • MCR
      • MCWORLD
      • MGX
      • MII
      • NPA
      • OSB
      • OSK
      • OSR
      • OSU
      • OSZ
      • PAK
      • PCC
      • PSS
      • PUP
      • PWF
      • REL
      • REP
      • RPX
      • SAV
      • SFAR
      • SID
      • SIMS3PACK
      • U8
      • UMX
      • Unity3D
      • USX
      • VPK
      • W3N
      • XS
    • GIS File Formats
      • GIS File Formats
      • 000
      • 3D
      • 3DC
      • 3DD
      • 3DL
      • ADF
      • APL
      • APR
      • ATX
      • AUX
      • AVL
      • AXE
      • BT
      • CSF
      • CXF
      • DEM
      • DIV
      • DIX
      • DLG
      • DT0
      • DT1
      • DT2
      • E00
      • EMBR
      • ETA
      • FileGDB
      • FIT
      • FMW
      • GeoJSON
      • GLB
      • GMAP
      • GML
      • GPKG
      • GPX
      • GSM
      • GST
      • HDR
      • IMG
      • KML
      • KMZ
      • LAN
      • LOC
      • MID
      • MIF
      • MPK
      • MPS
      • MSD
      • MXD
      • MXT
      • NM2
      • NMC
      • NTF
      • OSC
      • OSM
      • PMF
      • PTM
      • QGD
      • QGS
      • QGZ
      • QLR
      • QML
      • SAF
      • SBN
      • SDF
      • SHP
      • SHX
      • SP3
      • SSF
      • TCX
      • TFRD
      • WLX
      • WOR
    • Image File Formats
      • Image File Formats
      • AFPHOTO
      • AFX
      • AGIF
      • AGP
      • AI
      • APNG
      • ART
      • AVIF
      • BIF
      • BMP
      • BPG
      • CDR
      • CLIP
      • CMX
      • CPC
      • CR2
      • CR3
      • CSL
      • CT
      • CUR
      • DCM
      • DCR
      • DCX
      • DDS
      • DIB
      • DICOM
      • DJVU
      • DNG
      • ECW
      • EMF
      • EMZ
      • EXIF
      • FLIF
      • FODG
      • GBR
      • GIF
      • HDR
      • HEIC
      • HEIF
      • ICNS
      • ICO
      • J2C
      • J2K
      • JFIF
      • JP2
      • JPC
      • JPEG
      • JPF
      • JPM
      • JPX
      • JXL
      • JXR
      • MNG
      • MP
      • MPO
      • NEF
      • ODG
      • OTG
      • PCT
      • PCX
      • PICT
      • PNG
      • PPP
      • PSB
      • PSD
      • PSP
      • PSPIMAGE
      • SKP
      • SVGZ
      • TGA
      • THM
      • TIFF
      • WEBP
      • WMF
      • WMZ
      • XPM
      • XPR
    • Misc File Formats
      • Misc File Formats
      • AML
      • ART
      • BUP
      • CMS
      • CTG
      • DAP
      • ENL
      • ERR
      • GPG
      • H4
      • H5
      • ICA
      • KLQ
      • LOCK
      • LRC
      • MD5
      • MSO
      • OBB
      • ODF
      • OGG
      • PES
      • RIS
      • RML
      • SSP
      • THM
      • TORRENT
      • VIM
      • VIMRC
      • XMP
      • XSMX
    • Note Taking File Formats
      • Note Taking File Formats
      • ONE
      • ONETOC2
    • Page Description Language
      • Page Description Language
      • AVERY
      • CGM
      • EPS
      • INDD
      • INDT
      • OXPS
      • PCL
      • PS
      • SVG
      • SWF
      • TEX
      • XPS
      • XSLFO
    • PDF
      • PDF
      • FDF
      • PDF/A
      • PDF/E
      • PDF/UA
      • PDF/VT
      • PDF/X
      • XFDF
    • Presentation File Formats
      • Presentation File Formats
      • KEY
      • ODP
      • OTP
      • POT
      • POTM
      • POTX
      • PPS
      • PPSM
      • PPSX
      • PPT
      • PPTM
      • PPTX
    • Programming
      • Programming
      • 4th
      • ABC
      • ACD
      • ADDIN
      • ADS
      • AFPHOTO
      • AGI
      • AIA
      • AIDL
      • ALB
      • AML
      • ANE
      • APA
      • APKS
      • APPX
      • APPXBUNDLE
      • APPXUPLOAD
      • APS
      • ARSC
      • AS
      • AS2PROJ
      • AS3PROJ
      • ASC
      • ASI
      • ASM
      • ASVF
      • AU3
      • AWK
      • C
      • CD
      • Class
      • CMAKE
      • CONFIG
      • CPP
      • CS
      • CSPROJ
      • CXX
      • Dart
      • DIFF
      • EGG
      • ERB
      • EX
      • G4
      • GMD
      • GO
      • GROOVY
      • H
      • HAML
      • HH
      • HS
      • HTA
      • ICI
      • IN
      • INC
      • IPR
      • JAR
      • Java
      • JRXML
      • JSP
      • JSPF
      • KT
      • LGO
      • LUA
      • M
      • MAKE
      • MEL
      • MF
      • ML
      • MM
      • MRC
      • MSIX
      • NUPKG
      • NUT
      • NX
      • PAS
      • PDB
      • PDE
      • PHP
      • PL
      • PY
      • PYD
      • PYI
      • PYM
      • PYW
      • PYX
      • R
      • RBXL
      • RBXM
      • RES
      • RS
      • RST
      • SCALA
      • SCM
      • SCRIPT
      • SH
      • SLN
      • SWIFT
      • TCL
      • TOML
      • TS
      • UNITY
      • VB
      • VBPROJ
      • VBS
      • VCXPROJ
      • XSD
      • YAML
      • YML
      • YPR
    • Project Management File Formats
      • Project Management File Formats
      • MPP
      • MPT
      • MPX
      • P6XML
      • XER
    • Publisher File Formats
      • Publisher File Formats
      • PUB
      • PUZ
    • Reporting
      • Reporting File Formats
      • MAR
      • RDL
      • RDLC
      • RPL
      • RPT
    • Settings File Formats
      • Settings File Formats
      • CNF
      • CONF
      • GXT
      • ISS
      • OSS
      • OVPN
      • PMP
      • SBV
      • SET
      • SETTINGS
      • THEMEPACK
      • TPF
    • Spreadsheet File Formats
      • Spreadsheet File Formats
      • 123
      • 12M
      • _XLS
      • _XLSX
      • AST
      • AWS
      • BKS
      • CELL
      • CHIP
      • CSV
      • CTS
      • DEF
      • DEX
      • DFG
      • DIF
      • DIS
      • EFU
      • ESS
      • FCS
      • FM
      • FODS
      • FP
      • GNM
      • GNUMERIC
      • GSHEET
      • IMP
      • MAR
      • NB
      • NUMBERS
      • NUMBERS-TEF
      • ODS
      • OTS
      • PMD
      • PMDX
      • PMVX
      • PRESTO
      • QPW
      • SDC
      • STC
      • SXC
      • TMV
      • TMVT
      • TSV
      • WQ2
      • XAR
      • XL
      • XLA
      • XLAM
      • XLM
      • XLR
      • XLS
      • XLSB
      • XLSM
      • XLSMHTML
      • XLSX
      • XLT
      • XLTHTML
      • XLTM
      • XLTX
    • System File Formats
      • System File Formats
      • ADM
      • ADMX
      • AML
      • ANI
      • ASV
      • CAB
      • CFG
      • CPG
      • CPL
      • DESKTHEMEPACK
      • DLL
      • DMP
      • DRV
      • ETL
      • HDMP
      • HTT
      • ICNS
      • INI
      • INS
      • LNK
      • MANIFEST
      • MDMP
      • REG
      • REGTRANS-MS
      • RMT
      • SCR
      • SHSH
      • SHSH2
      • SYS
      • TMP
      • VGA
    • Video File Formats
      • Video File Formats
      • 3G2
      • 3GP
      • AEP
      • AMV
      • ARF
      • ASF
      • AVCHD
      • AVI
      • BIK
      • DAV
      • EXO
      • F4V
      • FLV
      • H264
      • H265
      • IDX
      • IFO
      • KINE
      • M2TS
      • M4S
      • M4V
      • MJPEG
      • MK3D
      • MKS
      • MKV
      • MOV
      • MP4
      • MPE
      • MPG
      • MPV
      • MSWMM
      • MTS
      • MXF
      • NSV
      • PIV
      • PRPROJ
      • PZ
      • QT
      • RM
      • RMVB
      • RV
      • SEC
      • SRT
      • STR
      • TS
      • VEG
      • VID
      • VOB
      • VP6
      • VP8
      • VP9
      • VTT
      • WEBM
      • WLMP
      • WMV
      • XVID
    • Visio File Formats
      • Visio File Formats
      • VDW
      • VDX
      • VSD
      • VSDM
      • VSDX
      • VSS
      • VSSM
      • VSSX
      • VST
      • VSTM
      • VSTX
      • VSX
      • VTX
    • Web File Formats
      • Web File Formats
      • A4P
      • A5W
      • AAE
      • ADR
      • AEX
      • ALX
      • AN
      • AP
      • APKG
      • APPCACHE
      • ARO
      • ASA
      • ASAX
      • ASCX
      • ASHX
      • ASMX
      • ASP
      • ASPX
      • ASR
      • ATOM
      • ATT
      • AWM
      • BML
      • BOK
      • BR
      • BWP
      • CDF
      • CER
      • CFM
      • CFML
      • CHA
      • CHAT
      • CHM
      • CMS
      • CODASITE
      • CON
      • CRDOWNLOAD
      • CRL
      • CRT
      • CSHTML
      • CSP
      • CSR
      • CSS
      • DAP
      • DBM
      • DCR
      • DER
      • DHTML
      • DISCO
      • DISCOMAP
      • DML
      • DO
      • DOCHTML
      • DOCMHTML
      • DOTHTML
      • DOWNLOAD
      • DRAWIO
      • DWT
      • ECE
      • EDGE
      • EPIBRW
      • ESPROJ
      • EWP
      • FCGI
      • FMP
      • FREEWAY
      • FWP
      • FWTEMPLATE
      • FWTEMPLATEB
      • GDOC
      • GDOCX
      • GNE
      • GSP
      • HAR
      • HDM
      • HDML
      • HTACCESS
      • HTC
      • HTM
      • HTML
      • HTX
      • HXS
      • HYPE
      • JHTML
      • JNLP
      • JS
      • JSON
      • JSPA
      • KEY
      • KIT
      • LESS
      • MASTER
      • MHT
      • MHTML
      • MJS
      • OAM
      • OBML
      • OBML15
      • OBML16
      • OPDOWNLOAD
      • P7B
      • P7C
      • PAC
      • PART
      • PEM
      • PRO
      • RHTML
      • RJS
      • RSS
      • Sass
      • SCSS
      • SEAM
      • SHTML
      • SITE
      • SPC
      • SSP
      • STC
      • STML
      • SVR
      • TPL
      • TS
      • URL
      • VDISCO
      • VDW
      • VRT
      • WBS
      • WEBBOOKMARK
      • WEBLOC
      • WEBSITE
      • WHTT
      • WSDL
      • XAML
      • XD
      • XHT
      • XHTM
      • XHTML
      • XML
      • XOJ
      • XOML
      • XPD
      • XSLT
      • XUL
      • ZUL
    • Word Processing File Formats
      • Word Processing File Formats
      • ASD
      • DOC
      • DOC to PDF
      • DOCM
      • DOCX
      • DOCX to HMTL
      • DOCX to JPEG
      • DOCX to MD
      • DOCX to PDF
      • DOCX to PPT
      • DOCX to PPTX
      • DOCX Viewer
      • DOT
      • DOTM
      • DOTX
      • DSC
      • FAQ
      • FODT
      • IPYNB
      • LATEX
      • LTX
      • MAN
      • MD
      • ODM
      • ODT
      • OTT
      • QBL
      • QPF
      • RTF
      • TXT
      • WPD
      • WPS
    1. Home
    2. Font File Formats
    3. OTF

    What's on this Page

      • What is a OTF file?
      • Brief History
      • OTF File Format Specifications
        • OTF Data Types
        • OTF Tables Directory
        • Table Record
      • References

    What is a OTF file?

    A file with .otf extension refers to OpenType font format. OTF font format is more scalable and extends the existing features of TTF formats for digital typography. Developed by Microsoft and Adobe, OTF combines the features of PostScript and TrueType font formats. This makes OTF format to accommodate majority writing systems and that is why it is uniformly used on major computer platforms. The OpenType font format is supported by Mac OS X and Windows 2000 and later.

    Brief History

    The requirement of OpenType fonts originated as a requirement for a more expressive font format that could handle fine typography. In addition, it was aimed to meet the requirements of complex behaviour of many of the world’s writing systems. Microsoft attempted to license Apple’s advanced typography technology, known as GX Typography, in the early 1990’s. This didn’t go well and as a result, Microsoft started enhancing its owns TrueType font technology in 1994. The modifications also included to introduce a more suitable font format that also meets the features of Adobe’s Type 1 (PostScript) font formats.

    Adobe, in 1996, joined Microsoft in its efforts to supersede both Apple’s TrueType and its own Type 1 font formats. This resulted in combination of both underlying font formats to overcome the limitations and add new extensions. This new technology was introduced the same year with the name OpenType.

    OTF File Format Specifications

    OTF specifications are available publicly by Microsoft and can be referred to from developer’s perspective. Like TTF, it uses the same ‘sfnt’ container structure and is compatible with the TrueType specifications. Data inside an OpenType font file is used for different purposes such as calculating the text layout, defining glyphs as TrueType or Compact Font Format (CFF) outlines, providing monochromatic or color bitmaps or SVG documents as alternate glyph descriptions, and meta-data information.

    OTF Data Types

    OTF files use the following data types which are all in Big Endian.

    Data TypeDescription
    uint88-bit unsigned integer.
    int88-bit signed integer.
    uint1616-bit unsigned integer.
    int1616-bit signed integer.
    uint2424-bit unsigned integer.
    uint3232-bit unsigned integer.
    int3232-bit signed integer.
    Fixed32-bit signed fixed-point number (16.16)
    FWORDint16 that describes a quantity in font design units.
    UFWORDuint16 that describes a quantity in font design units.
    F2DOT1416-bit signed fixed number with the low 14 bits of fraction (2.14).
    LONGDATETIMEDate and time represented in number of seconds since 12:00 midnight, January 1, 1904, UTC. The value is represented as a signed 64-bit integer.
    TagArray of four uint8s (length = 32 bits) used to identify a table, design-variation axis, script, language system, feature, or baseline
    Offset16Short offset to a table, same as uint16, NULL offset = 0x0000
    Offset32Long offset to a table, same as uint32, NULL offset = 0x00000000
    Version16Dot16Packed 32-bit value with major and minor version numbers. (See Table Version Numbers.)

    OTF Tables Directory

    An OTF file starts with a table directory. This directory is the top-level collection of the tables in the font file. Depending on the number of fonts in a file, the table directory may be located at different location in the file. For example, in case the font file has only one font, the table directory starts at the byte 0 of the file. In case of multiple OpenType Fonts collection, the table directory beginning is indicated in the TTCHeader.

    TypeNameDescription
    uint32sfntVersion0x00010000 or 0x4F54544F (‘OTTO’)
    uint16numTablesNumber of tables.
    uint16searchRangeMaximum power of 2 less than or equal to numTables, times 16 ((2**floor(log2(numTables))) * 16, where “**” is an exponentiation operator).
    uint16entrySelector Log2 of the maximum power of 2 less than or equal to numTables (log2(searchRange/16), which is equal to floor(log2(numTables))).
    uint16rangeShiftnumTables times 16, minus searchRange ((numTables * 16) - searchRange).
    tableRecordtableRecords[numTables]Table records array—one for each top-level table in the font

    Table Record

    For each top-level table in the font, there is a Table Record which consists of the following fields.

    TypeNameDescription
    TagtableTagTable identifier.
    uint32checksumChecksum for this table.
    Offset32offsetOffset from beginning of font file.
    uint32length Length of this table.

    Each table in the OpenType font file is represented by names known as table tags. It is a must for all the records in the array to be sorted in ascending order by tag.

    References

    • OpenType Font Specifications by Microsoft
    • TrueType Overview

    See Also

    • AVIF File Format
    • RA File Format
    • KT File Format
    • RM File Format
    • RV File Format
     
     English
    Close
     Deutsch
     日本
     中文
     русский
     Français
     한국인
     Español
     Italiano
     Nederlands
     हिन्दी
     Indonesian
     Português
     عربي
     Türkçe
     Ελληνικά
     ไทย
     עִברִית
     Svenska
     українська
     Tiếng Việt
     български
     Magyar
     čeština
     Română
     Polski