Mercurial > projects > dstep
view dstep/applicationservices/ats/SFNTTypes.d @ 12:9f0b49a2f64e
Added the ApplicationServices frameworks: ATS, ColorSync and CoreGraphics
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 14:00:21 +0200 |
parents | |
children |
line wrap: on
line source
/** * Copyright: Copyright (c) 2009 Jacob Carlborg. * Authors: Jacob Carlborg * Version: Initial created: Aug 1, 2009 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) */ module dstep.applicationservices.ats.SFNTTypes; //import dstep.AvailabilityMacros; import dstep.coreservices.CoreServices; import dstep.objc.bridge.TypeEncoding; alias uint FontNameCode; alias uint FontPlatformCode; alias uint FontScriptCode; alias uint FontLanguageCode; // This is needed otherwise the enums will fail compiling with gdc version (GNU) { private { const __cmapFontTableTag = getOSType!("cmap"); const __nameFontTableTag = getOSType!("name"); const __variationFontTableTag = getOSType!("fvar"); const __descriptorFontTableTag = getOSType!("fdsc"); const __featureFontTableTag = getOSType!("feat"); const __os2FontTableTag = getOSType!("OS/2"); } } enum { sizeof_sfntDirectory = 12 } enum { cmapFontTableTag = getOSType!("cmap") } enum { kFontUnicodePlatform = 0, kFontMacintoshPlatform = 1, kFontReservedPlatform = 2, kFontMicrosoftPlatform = 3, kFontCustomPlatform = 4 } enum { kFontUnicodeDefaultSemantics = 0, kFontUnicodeV1_1Semantics = 1, kFontISO10646_1993Semantics = 2 } enum { kFontRomanScript = 0, kFontJapaneseScript = 1, kFontTraditionalChineseScript = 2, kFontChineseScript = kFontTraditionalChineseScript, kFontKoreanScript = 3, kFontArabicScript = 4, kFontHebrewScript = 5, kFontGreekScript = 6, kFontCyrillicScript = 7, kFontRussian = kFontCyrillicScript, kFontRSymbolScript = 8, kFontDevanagariScript = 9, kFontGurmukhiScript = 10, kFontGujaratiScript = 11, kFontOriyaScript = 12, kFontBengaliScript = 13, kFontTamilScript = 14, kFontTeluguScript = 15, kFontKannadaScript = 16, kFontMalayalamScript = 17, kFontSinhaleseScript = 18, kFontBurmeseScript = 19, kFontKhmerScript = 20, kFontThaiScript = 21, kFontLaotianScript = 22, kFontGeorgianScript = 23, kFontArmenianScript = 24, kFontSimpleChineseScript = 25, kFontTibetanScript = 26, kFontMongolianScript = 27, kFontGeezScript = 28, kFontEthiopicScript = kFontGeezScript, kFontAmharicScript = kFontGeezScript, kFontSlavicScript = 29, kFontEastEuropeanRomanScript = kFontSlavicScript, kFontVietnameseScript = 30, kFontExtendedArabicScript = 31, kFontSindhiScript = kFontExtendedArabicScript, kFontUninterpretedScript = 32 } enum { kFontMicrosoftSymbolScript = 0, kFontMicrosoftStandardScript = 1, kFontMicrosoftUCS4Script = 10 } enum { kFontCustom8BitScript = 0, kFontCustom816BitScript = 1, kFontCustom16BitScript = 2 } enum { kFontEnglishLanguage = 0, kFontFrenchLanguage = 1, kFontGermanLanguage = 2, kFontItalianLanguage = 3, kFontDutchLanguage = 4, kFontSwedishLanguage = 5, kFontSpanishLanguage = 6, kFontDanishLanguage = 7, kFontPortugueseLanguage = 8, kFontNorwegianLanguage = 9, kFontHebrewLanguage = 10, kFontJapaneseLanguage = 11, kFontArabicLanguage = 12, kFontFinnishLanguage = 13, kFontGreekLanguage = 14, kFontIcelandicLanguage = 15, kFontMalteseLanguage = 16, kFontTurkishLanguage = 17, kFontCroatianLanguage = 18, kFontTradChineseLanguage = 19, kFontUrduLanguage = 20, kFontHindiLanguage = 21, kFontThaiLanguage = 22, kFontKoreanLanguage = 23, kFontLithuanianLanguage = 24, kFontPolishLanguage = 25, kFontHungarianLanguage = 26, kFontEstonianLanguage = 27, kFontLettishLanguage = 28, kFontLatvianLanguage = kFontLettishLanguage, kFontSaamiskLanguage = 29, kFontLappishLanguage = kFontSaamiskLanguage, kFontFaeroeseLanguage = 30, kFontFarsiLanguage = 31, kFontPersianLanguage = kFontFarsiLanguage, kFontRussianLanguage = 32, kFontSimpChineseLanguage = 33, kFontFlemishLanguage = 34, kFontIrishLanguage = 35, kFontAlbanianLanguage = 36, kFontRomanianLanguage = 37, kFontCzechLanguage = 38, kFontSlovakLanguage = 39, kFontSlovenianLanguage = 40, kFontYiddishLanguage = 41, kFontSerbianLanguage = 42, kFontMacedonianLanguage = 43, kFontBulgarianLanguage = 44, kFontUkrainianLanguage = 45, kFontByelorussianLanguage = 46, kFontUzbekLanguage = 47, kFontKazakhLanguage = 48, kFontAzerbaijaniLanguage = 49, kFontAzerbaijanArLanguage = 50, kFontArmenianLanguage = 51, kFontGeorgianLanguage = 52, kFontMoldavianLanguage = 53, kFontKirghizLanguage = 54, kFontTajikiLanguage = 55, kFontTurkmenLanguage = 56, kFontMongolianLanguage = 57, kFontMongolianCyrLanguage = 58, kFontPashtoLanguage = 59, kFontKurdishLanguage = 60, kFontKashmiriLanguage = 61, kFontSindhiLanguage = 62, kFontTibetanLanguage = 63, kFontNepaliLanguage = 64, kFontSanskritLanguage = 65, kFontMarathiLanguage = 66, kFontBengaliLanguage = 67, kFontAssameseLanguage = 68, kFontGujaratiLanguage = 69, kFontPunjabiLanguage = 70, kFontOriyaLanguage = 71, kFontMalayalamLanguage = 72, kFontKannadaLanguage = 73, kFontTamilLanguage = 74, kFontTeluguLanguage = 75, kFontSinhaleseLanguage = 76, kFontBurmeseLanguage = 77, kFontKhmerLanguage = 78, kFontLaoLanguage = 79, kFontVietnameseLanguage = 80, kFontIndonesianLanguage = 81, kFontTagalogLanguage = 82, kFontMalayRomanLanguage = 83, kFontMalayArabicLanguage = 84, kFontAmharicLanguage = 85, kFontTigrinyaLanguage = 86, kFontGallaLanguage = 87, kFontOromoLanguage = kFontGallaLanguage, kFontSomaliLanguage = 88, kFontSwahiliLanguage = 89, kFontRuandaLanguage = 90, kFontRundiLanguage = 91, kFontChewaLanguage = 92, kFontMalagasyLanguage = 93, kFontEsperantoLanguage = 94, kFontWelshLanguage = 128, kFontBasqueLanguage = 129, kFontCatalanLanguage = 130, kFontLatinLanguage = 131, kFontQuechuaLanguage = 132, kFontGuaraniLanguage = 133, kFontAymaraLanguage = 134, kFontTatarLanguage = 135, kFontUighurLanguage = 136, kFontDzongkhaLanguage = 137, kFontJavaneseRomLanguage = 138, kFontSundaneseRomLanguage = 139 } enum : uint { kFontNoPlatformCode = (~0), kFontNoScriptCode = (~0), kFontNoLanguageCode = (~0) } enum { sizeof_sfntCMapSubHeader = 6 } enum { sizeof_sfntCMapExtendedSubHeader = 12 } enum { sizeof_sfntCMapEncoding = 8 } enum { sizeof_sfntCMapHeader = 4 } enum { nameFontTableTag = getOSType!("name") } enum { kFontCopyrightName = 0, kFontFamilyName = 1, kFontStyleName = 2, kFontUniqueName = 3, kFontFullName = 4, kFontVersionName = 5, kFontPostscriptName = 6, kFontTrademarkName = 7, kFontManufacturerName = 8, kFontDesignerName = 9, kFontDescriptionName = 10, kFontVendorURLName = 11, kFontDesignerURLName = 12, kFontLicenseDescriptionName = 13, kFontLicenseInfoURLName = 14, kFontPreferredFamilyName = 16, kFontPreferredSubfamilyName = 17, kFontMacCompatibleFullName = 18, kFontSampleTextName = 19, kFontPostScriptCIDName = 20, kFontLastReservedName = 255 } enum : uint { kFontNoNameCode = (~0) } enum { sizeof_sfntNameRecord = 12 } enum { sizeof_sfntNameHeader = 6 } enum { variationFontTableTag = getOSType!("fvar") } enum { sizeof_sfntVariationAxis = 20 } enum { sizeof_sfntInstance = 4 } enum { sizeof_sfntVariationHeader = 16 } enum { descriptorFontTableTag = getOSType!("fdsc") } enum { sizeof_sfntDescriptorHeader = 8 } enum { featureFontTableTag = getOSType!("feat") } enum { os2FontTableTag = getOSType!("OS/2") } enum { nonGlyphID = 65535L } enum : uint { kFontNoPlatform = (~0), kFontNoScript = (~0), kFontNoLanguage = (~0), kFontNoName = (~0) } struct sfntDirectoryEntry { uint tableTag; uint checkSum; uint offset; uint length; } struct sfntDirectory { uint format; ushort numOffsets; ushort searchRange; ushort entrySelector; ushort rangeShift; sfntDirectoryEntry* table; } struct sfntCMapSubHeader { ushort format; ushort length; ushort languageID; } struct sfntCMapExtendedSubHeader { ushort format; ushort reserved; uint length; uint language; } struct sfntCMapEncoding { ushort platformID; ushort scriptID; uint offset; } struct sfntCMapHeader { ushort version_; ushort numTables; sfntCMapEncoding* encoding; } struct sfntNameRecord { ushort platformID; ushort scriptID; ushort languageID; ushort nameID; ushort length; ushort offset; } struct sfntNameHeader { ushort format; ushort count; ushort stringOffset; sfntNameRecord* rec; } struct sfntVariationAxis { uint axisTag; int minValue; int defaultValue; int maxValue; short flags; short nameID; } struct sfntInstance { short nameID; short flags; Fixed* coord; } struct sfntVariationHeader { int version_; ushort offsetToData; ushort countSizePairs; ushort axisCount; ushort axisSize; ushort instanceCount; ushort instanceSize; sfntVariationAxis* axis; sfntInstance* instance; } struct sfntFontDescriptor { uint name; int value; } struct sfntDescriptorHeader { int version_; int descriptorCount; sfntFontDescriptor* descriptor; } struct sfntFeatureName { ushort featureType; ushort settingCount; int offsetToSettings; ushort featureFlags; ushort nameID; } struct sfntFontFeatureSetting { ushort setting; ushort nameID; } struct sfntFontRunFeature { ushort featureType; ushort setting; } struct sfntFeatureHeader { int version_; ushort featureNameCount; ushort featureSetCount; int reserved; sfntFeatureName* names; sfntFontFeatureSetting* settings; sfntFontRunFeature* runs; } struct FontVariation { uint name; int value; }