Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[ANN] TTF-parser 0.0.1

 [1/7] from: rebol-list2:seznam:cz at: 10-Sep-2003 0:41


Hello rebol-list, here is first version of my TTF-parser (which I use to explore true type fonts) write %ttf-parser.r decompress #{ 789CAD5B7B73E3360EFF5BFE145CEF74EAB497F891ECA3F6747AD93CBAB9C936 99D8FBE8657237B244DB6AF4F049B413B7D7EF7E00484AA41EB6F7A6DE3696C8 1F4810044180A0EF2EDEDD5CB3FB1683CF2410211FB2F644CC0E976E9AF1B44D E5E7AE80E21F0EC77C7938E8F58EBBFDE361AF37ECF7BE1FC037417E712380C4 49CCE9F5134FB3208987AC77D43BEA53D165109A88F7894570BA128B2485BE93 D0E799ECF6E629E6A981B90BE60B911905BF70EE9BEF13776ABE7ECCDCB9D9C7 ED2A5D261994FC3149D82AF68147E1C63E7B5AB8E2DB8C057116F89C890567DF 1D09316333E038FB9348CF9228E2B100527A7526009A879BE5824939B120837E 04F39268197221FB733AD8FAD5B7115565AB94B36006EF61C8A69CB9D3103AB3 1881AE33CE66DFC1678EEC8874E509106336ECC806E5DF5992B22881D67C2EDC 20CCA0A9642518B22C49B0A7591286C91334099C8541FC3894B40B2196C36EF7 E9E9E9280ABC34C992993802AEBB62B34CE6A93BDB748580FF66FFCE96DC8307 6FD11B1CF98947E45218EF834C24E9C690ECB51BCF57B6B0279BA5F97A96C482 0498975C44C0FB902561B0768F7C771DF87FCFF8EFB11B1D79BFB71E5A2DE0E1 70463A9372D7EF4E83D84D3720302A646EF6C8DA7A9286EC9B361B7DE3AED224 753D9ABB6F04CF043DB55AADD13C4CA66EC8D66E1AA0D8B3610B6418B9C8CE90 AD874C444BC559ABF5F1F2F3CDDDF9907D1CBFBFB99B0CD9BD972C376CCD062C 7B0C96AC83F0046647F0394F5FE0B364ED055B1F3CB43E5EDFFCF2F390E55427 8AAAE548BA1C4B053C80294FD9CB3FDEF6E4E74FF623434D585B65F783FEC99B 93B7C7AF4FDEB2EF5104AAF71CFAE6527EFE7CB837795B3F1C80242FAFBE5C9C 0F9D5A8E52FE5B12C4B0FC1DA7D3302A24EB82960B94C1016B1FB5F702532728 B5C141CB213E503268492601AEFC7BC5C75F2A27E0ACFFC3E13FDCF8B0FFC39B 41F778D83F19F6DE489909E876ABEC80CD7BD63F847F3FF44EBABD21FCABA75C 3FB41C1C905210A52F1545D96328E561C821C47C0E62629DE3C19BD76FD96113 D37FA2606BE6FBDDAF938B426DFB7BA9EDD9FBD3BB2ACDCE11D8FCDBDCF7078D BC6FE3FCF2FAF4E7712DFB3C9EBA19EFE21F6C56190454CA87D6EDE9F8ECF47A 3CB9BBC2D5778F0DB10EAEED03AD6031358476052DC07990724F1A31E09920C2 9D6B2D1C75966902261A8A80D35598C473D621BAB305F71EC7AB085BCE6B92D9 2CE3C22A0A793C170B59D449F992C77E3789C30D1AE9AEE62063F7D8A9D53093 8D31D90049854CE19045EE2367C9F437E0FB05329DB7A2AAA661E23DBE60FDD7 2D670106B34AE0ACD5A60C8F3330C7777C1DE8774F757FEAFFB6CA046D75880A DD79860FAB3810D92D4F2F2202834116DCC7C728F18359209F9F3F04D4D6467D 3F7F709FE5BBFC8E5C6F2C3660AD55FF720E8081F781EC2E809DF079925C27DE A5B4CE50469B2C580DF7521B6CB4D20EACC0C87D5ED60C325E453F234D26BB7C BE05FB26F40BEE42C92A2D5E23700802C14B20555A42FF137AD6CF93A720446F C4221C8342E12628DF2E57318DEE9CCF34E0AAD8D28DD2B170BDC78B90A3D4F3 B2E0777E33BB325D0083B918902582BCFC9C2F51F1723181006B9407C534E5E9 CDCC1CE3AE090425BE15994D637829D752E7EDC2CC6025C906359C3C9FAEE767 0B37FD1CF8927A957DE628DBB3D0CD32558075F9FB2C23E702391BAFA6999706 4BF105256617FD5A2DFA722397AA8DB30A97B0482A2DE685BFD6157EA96FC06A 57A4C123072FADA0D725B7A86B6A1966976E14849B7CA44B3746871565107E8C 032FF1F91DB85ABC5F2D1A548B8EAB452758E47A8B4F309757E75298631ECA75 28657D092645E0845CE1729465D76EA908672039CD3C8ECE6B5E70CECB25D741 CC7F76977A16632211F9AB2490EFE11930790BEBC71CA155363074098C9D3B64 4B30AD43365BCE235DB500DBB7DDF4995C5B0C1BBCBAFEDA8D3D4E6AA7AD5700 0A3E83F9F3F93B0E7E643C57A51495948A71E55C3C0B3534CF4DB91887C992DF 0572368D92153115715007CFB073C6127DFF812ACD95B488C473CD284DB6B185 309B1A448F3C8DB78B269E28EFD871D453411D538057A1C6B8EF8E7B49EA1399 52793682CD1D621AF003130A4A402E2C93E6917566691215B5B48F1D1C397663 280ADDBB3352A4A729770D96C04A8B1A960A0906C20D03EF349ECB4D87222D88 85B8B9E4F2C2C922F01EC1C24BB306CBE099FBB701C43F6A9E3FF008CDCEC940 595CFB3DAFEFDBD5FD7C133385E9456EDDDEC56358A820AA621AEC12120A2EAD D55494E767E98575C2F854CCEE2598ED5F48A7F02D1FDAF37BB2B6F8986FCFC8 B93445F876E62E0DCC269A26E158DA35C4CD5C8F68D03EB89EE0E919C5C0DA87 C0B09F0E07A8FD3479E49FF3B64851B52D1FF33498490EF25181F343F175D785 9859078438AE977F80B7DC975EFF08A33CA5C5AC7FD403272C5B24A05C1D5841 5A8FF143FE99AACA60B17A0B322BC35215309E6EA451C41309B32A45FC7811CC C4503738A21E58EE5032240F68F6F2EE99ED7382EF9600CC6F696FF410175746 AE283437A775008F77FC3F2BA0F1996CA5E5B4516FDAF0A5458DCEB93C86808A 25E809C4666DDCF1DBF405E53EA80C16A24B0885E877317CC6A31D2885472885 C105BF430D84C8461DD818BB4E1AA90C2BD1FC4225796CC804BEE38AC23A74CC DAF41544E0D0822B8DB3863538CC367DA13DA0A16331AE6328865529C6B47342 5C20E373D5E2CDB83B68CB2F8A2260E7F093A78CE11105B89F9EC1D9E8668954 C0AD21B5B5606DE6B4D16F4993907D72C31597D5D8FAC5BBF309B47E012BC3F7 41DAD340803473C95DBCBB3EABA9D6233670E33A5CE6810D82D16A186E567A22 4034F3D48D68D2DC0C85364F031F945C0824C1A102790C214CACF51B483CEEE3 014F074837D83A3FA0E9F2A3D274F9E0DF7BDC9C35DC01DAF24BE9CAF564FC1E 4A70EB73419B1629074D0F7D636E608705C0D9A709BB2DB8BD3DBB4691C1177B 5508F2D3F9872F500A264704C0173B970CA8EDAB68732DB52EC76940A17B6BA9 7B65445B4643B464E4B99B5C3452BBA5F1C7C30E08D620CCC2C2AEDEDD68AD56 6AAD304842E800C780D4444612F8F28F5797BDCBE3B3CB57608222771E78D2B8 E2F66E1F0414DD513CB52590C5FEE954C12032622FD9B1798E6232AAA2B2ADA0 3C5E53F2C0A30BA39A2280FAAA4D7315C5094D5479556560793C8851FAE85D20 588F4D51F93A01F80C1003835DE923E58861659FC9EDDCAEC6AA8C0D0EFBAF18 E82E4FD7B0F23AAAB6777084FB4AA9DB6AE829F92BE32AD128B1D96378FA2AB7 0319AA677F03D6B01023FFBA0E2B216CD18EB74A53D02826AD1D1277E07F6709 FE9260F7A43D114A64863E390C1A0C81CF74C310EAC3BEEF1CD0F62F6D2B2D01 29686724BB032AB993B1CE8F2010E614086211E9BAA61707ECD5626EF2538EFF D3BBA3A1D575297D3DF310232E2AE5084DD7D0C1410263D1D2267A8DB89C6FD8 0F390A2B5A12C7B7A12B50CA57E75B40DADBDA0AD267DD5B41C8EE56C098A426 43E69D30297A664B560B1C420917D644CCA61BC1335279296AA77CEE542777EC 09C1283BD4A6F550CF14488B43A408CB0AC1CD0DD06C388A6F05AE1C03CBF2EE 6BFDF00A891EF6D375ECD5D275ED0819DACE941BA6B749193BB18E3401DAF468 0544EA6EC9D9A64CC0164055496DB4E1939741285B79C65EA3B5C77FB5D6A2E5 AF60124383A67C1EC4E800E4EB138D25A6BDF418C83651E648B74DBCB3B24235 88897AD50AB5D7C059995F69109B003457EC10563C1B85A52554694AA90422AC A360A90E4EF6848190D23AA491FAECF4F4835A46B23D59F420BF4E72C80A76F2 7B009D252B50665AA2F231F0CF790812097C0A35E4427ED0644E11DCACF3B6B6 0DB98B199851C6E7D4FA97C1561242E651CE2EA815F5EC021771508EECE44F8E 1644C9A6178042408D1025B82DF586409B5007F993169921E5F2D8F2E95B1764 0FF9934E09681408E10288BC22E8F5E5B2219B09DDA1A75816E348BB28B7B07B 8F959372F4354C1AAAB595CD02479B085AE22268F4EA78DDCE86CD85D6EAAD2C 2810F42FC1D8216ABACD07A6DD2BE2DA4310D6FCEF62C480023BF2013BD6D1F3 957F9A4230C580C35E4EBE1EB291595B69575A9E9FAC260EEAD6836536610569 1D6A4614D3D78C51F2DD0630C65D8611A27678F910B4241F4CA327FF8E547E4C FA0E1547C3DE10CB2E4667F7968F0DE096AF7C5B3AD12065307C6B2CEC56D218 95308460F5710D55D5C7358AAA2EAE515479555158C98F5866A99167720F4A65 52F3CBD6B7A923C9C84329C82268353F23C16A2BAC541B216B993EB373C11499 BD501FF3EECB8BFCB37F3C837DD9F10C9D2215217D696C58DB2D527DD5089300 45FAAF1950D29C7A889D26DC03B947AB329DD85C5F4A31360375DAB11961A522 9B61E5F4E4B62ECD94E5165C358DB94378566A730FAC4A77CA95B89FAE611BB6 AED1F9A2154D144EA3D179920DBA76B6B2CA2062EC046623A6C869560E2010A1 B29CB575E5BCE70ED0AFFB80BEDC18D718B6B4B50356CA9FEE846DE7AD9263DD DDDE76A09587DD81C9D344B5382B576B19D57ECFB0A2085569DCCA0123294229 B1BB0768B00FE8781FD089CDF84989EF22515CAFC466EEB849CD4BE9E426989D 61AE47D949E72D9822ADBB05A4D3BDCDEB5367ABB7207402BB41D6A594F63E28 3DB9D232C9D4C5BD763364A6DBF42A3ADA0B0527EB00E2C313A475E38D742094 DB62F80FD842E12E68570C1C35D65E635A241BB659EED96A02ED8751BAA872CC 0E85E56376E314186B4B7356AE2E4F57B9BE3453E5EA72B2BEBE919AFC7D23B0 92D2AF471A59FEEA1132024A89FF9DA095656A767D17E1644DAB950B053587F0 88AB5E32F89AAD149BB0B752CA1A4A85C52660408D5D613D550289358935E17C 8EA32B0DE56AE3806D75F9190F204D95AFB4AFC24589AC42A10B6385EC290820 B40541B936D3A72099636969B154AA63F344D23A3BD48849CD4163CCBEB34EC0 AD7119546AF0BB402CBFC148E76C48222F553610CC8CDC8600BF4513D075CE2D BCB09197803C5C7940A5F6A1D0084546DBC721C36C3A7F8B6F5DBC532973ED78 0C290D9A3E6DD3077D322BA24F168A633E2727B4053BE8E56702FB1DD7E5FD4B 8686E6E9442376EFE33A9B62BF533B9BA6EEF04ED97E5BA3A43CBF5327B5F451 65CDE732B221EA27E4460F5B70295ADB0228AD6C1D901E736071D0635FB02D4D 7FE538A3725A612A554EDDB2888CB38FAF340CD8B86D18E8B683DC44F18A915C F858D8B52C75B9D2BCCBA4B723B27439A27ABD6907AEB8F154714C6497E625A8 7A88752FAA01625E95DAD54A8D8F546A44238A44955AD825312A1D6D0F8E7A6D ADAF6426C051CA0FE0731A7D43CB4A50E40BBF76DDD75850A3A9DC784B0DAD64 3FE2BC2EDE71F25F55E0E268B1ACCA2603FA700E3F5E48D73B8A92BC517215CD DBF3A5CE4B8780FBF5682C973D737CD84C699978A1A8F89A58D8FD646F9F86A6 60AD71CB0D2F572CF873759B25A0A5D6E54A7D29AEA13ABFB75057695C9E6B40 1417EA9ADACF2FD9D981E56B15A09142A232AA0AFC2DC5CBF6BFFEDE66FF65F2 6ED9C303B318A25B7A2AB5AF88D85B23DC937CD55CE1336FA818ACB0D765E2FC A29FC4E12F4A2C891957FF6A11C56540592DDD8DA201E37AE0D7B8A8486C6A16 DE206A8D145D7143CFD87A99B5A9B262BB04529D1457695361FD98A3E5602E62 E76F3A64654BF3DE7EF9F2655BDDD260C67540FA418A4DD972D215397E165ADD 84427CCB2143534ABFD36511A16F4F5A4DB69C6046BF4EC41B973F316A9E169D 71ED12EC0095D3BAD4C6167BEEF6093AD2E7F37952E06B38C089D107704A226C CB7442C48CB3495474952EA7A218D63AAE6E570259C9180DA94DD725DAB225BA E5B6774BF2D6796D4B231DB1D707D6BBF8A06B95723F40A8BCE45EB327D9B3A3 7E90457148DDCD25F623EBAB4DE69EECBDB237D6DE857DA1BD9756DB424B0BDB 8835D6210E97E64DA31EA4B784CBEE7F75B5488B693C0000 } -- Best regards, rebOldes mailto:[oliva--david--seznam--cz]

 [2/7] from: antonr:iinet:au at: 11-Sep-2003 1:00


Hi Oldes, Looks interesting. I'll just post a bug report for the first two fonts I tried: %/c/windows/fonts/outlook.ttf %/c/windows/fonts/wingdng3.ttf ### Vertical Device Metrics table 340 1504 ; outlook.ttf ### character to glyph mapping 1844 354 ; outlook.ttf ** Script Error: segCount has no value ** Where: switch ** Near: parse/all v [ USHORT (append tmp v n: v / 2) USHORT (append tmp v) USHORT (append tmp v) USHORT (append tmp v) ( endCount: make block! n startCount: make block! n idDelta: make block! n idRangeOffset: make block! n ) segCount [ USHORT (append endCount v) ] USHORT segCount [ USHORT (append startCount v) ] segCount [ SHORT (append idDelta v) ] segCount [ USHORT (append idRangeOffset v) ] v: ( repend/only tmp endCount repend/only tmp startCount repend/only tmp idDelta repend/only tmp idRangeOffset repend tmp glyphIdArray ) ] Anton.

 [3/7] from: rebol-list2:seznam:cz at: 11-Sep-2003 12:17


Hello Anton, Wednesday, September 10, 2003, 5:00:13 PM, you wrote: AR> Hi Oldes, AR> Looks interesting. I'll just post a bug report AR> for the first two fonts I tried: AR> %/c/windows/fonts/outlook.ttf AR> %/c/windows/fonts/wingdng3.ttf AR> ### Vertical Device Metrics table 340 1504 ; outlook.ttf AR> ### character to glyph mapping 1844 354 ; outlook.ttf AR> ** Script Error: segCount has no value AR> ** Where: switch AR> ** Near: parse/all v [ AR> USHORT (append tmp v n: v / 2) AR> USHORT (append tmp v) AR> USHORT (append tmp v) AR> USHORT (append tmp v) AR> ( AR> endCount: make block! n AR> startCount: make block! n AR> idDelta: make block! n AR> idRangeOffset: make block! n AR> ) AR> segCount [ AR> USHORT (append endCount v) AR> ] AR> USHORT AR> segCount [ AR> USHORT (append startCount v) AR> ] AR> segCount [ AR> SHORT (append idDelta v) AR> ] AR> segCount [ AR> USHORT (append idRangeOffset v) AR> ] AR> v: AR> ( AR> repend/only tmp endCount AR> repend/only tmp startCount AR> repend/only tmp idDelta AR> repend/only tmp idRangeOffset AR> repend tmp glyphIdArray AR> ) AR> ] AR> Anton.
>> Hello rebol-list, >> >> here is first version of my TTF-parser (which I use to explore true >> type fonts) >> rebOldes mailto:[oliva--david--seznam--cz]
Yes... I found it as well (that was because I closed the variables in the ttf object context but since I was working still in same console window I didn't found that some of them are still not replaced) this one is fixed: write %ttf-parser.r decompress #{ 789CAD1B6B73DB36F233F52B10653A95DBB3F588F3A8349D9EE347E21BA7F658 CAA3E7F1DD502424B1E6434742B2955CFFFBED2E0012E043526FAAB41609EC2E 168BC5621FD0EDF9DBEB2B76D762F0990422E443D69E88D9E1D24D339EB6A9FD CC15D0DCEF1F8EF9F270D0EBBDE8F607C3FEF1F0F8CD8F8361AF4730BFBA11C0 C449CCE9F5134FB3208987AC77D43B1A50D345109A10EF130BE1642516490A83 27A1CF3339EEF563CC5303E636982F446634FCCAB96FBE4FDCA9F9FA3173E7E6 1837AB749964D0F26D92B055EC038FC28D7DF6B870C5F7190BE22CF039130BCE 7E381262C666C071F607A19E2651C46301A8F4EA4C00681E6E960B2605C5820C C611CC4BA265C8851CCFE920F5CBEF23EACA562967C10CDEC3904D3973A7210C 66310243679CCD7E80CF1CD911E9CA1320C66CD89104E5DF5992B228016A3E17 6E1066402A5909862C4B141C69968461F2082481B330881F86127721C472D8ED 3E3E3E1E4581972659321347C075576C96C93C75679BAE10F0DFECDFD9927BF0 E02D7A83233FF1085D0AE37D908924DD1892BD72E3F9CA16F664B3345F4F9358 9000F396F308781FB2240CD6EE91EFAE03FFEF19FF1ABBD191F7B575DF6A010F 8733D29994BB7E771AC46EBA0181512373B307D6D68B3464DFB5D9E83B779526 A9EBD1DA7D277826E8A9D56A8DE661327543B676D300C59E0D5B20C3C8457686 6C3D64225A2ACE5AAD8F179FAF6FCF86ECE3F8FDF5ED64C8EEBC64B9616B3660 D943B0641D044F6075049FF3F4193E4BD69EB1F5C17DEBE3D5F5AFEF862CC73A 56582D47E2E5B0D4C00358F2943DFFF6A6273F7FB09F196AC2DA6ABB1BF48F5F 1FBF79F1EAF80DFB1145A046CF415F5FC8CF1FF777266FEBFB0390E4C5E597F3 B3A153CB51CA7F4F8218F6BFE3741A6685685DD07281323860EDA3F65EC03408 4A6D70D072880F940C9A9249803BFF4EF1F197CA0938EBFF74F80F373EECFFF4 7AD07D8156AAF75ACA4CC0B05B65076CDEB1FE21FCFBA977DCED0DE15F3DE6FA BEE5E0849482287DA928CA1E53294F434E21E6731013EBBC18BC7EF5861D3631 FD070AB666BDDFFE36392FD4B6BF97DA9EBE3FB9ADE2EC9C81CDBFCD7D7FD0C8 FB36CE2FAE4EDE8D6BD9E7F1D4CD7817FF205965105029EF5B3727E3D393ABF1 E4F61277DF1D12621DDCDB075AC162228476052DC05990724F1A31E09940843B D75A38EA2CD3044C343401A7AB3089E7AC4378A70BEE3D8C571152CE7B92D92C E3C26A0A793C170BD9D449F992C77E3789C30D1AE9AEE620637738A845984962 4C1220A990291CB2C87DE02C99FE0E7C3F43A6732AAA6B1A26DEC333D67FD572 166030AB08CE5A1DCAF03803737CCBD7817EF7D4F027FEEFAB4CD0518750A13B CFF061150722BBE1E97944C0609005F7F1314AFC6016C8E7A70F01D1DAA8EFA7 0FEE937C97DF91EB8DC506AC353CC3D104F6F9967B3737E71F3443725180A3F7 811C3F80A3F169925C25DE8534D7D046A72E9811F7425B7034DB0E6CC9C87D5A D6CC3A5E45EF1027933C3CDD80C113FA058FA5649516AF11780881E02520D55A 82FE278CAC9F278F4188EE898538060DC35351BE5DAC629ADD199F6980CBE28C 375AC7C2F51ECE438ECB90B7055FF9F5ECD2F4090CE662802C21E4ED677C899A 988B090458A34D28A6294FAF67E61C77AD2868F58DC86C1CC36DB9929BC06ECC 0C56926C50C3C9D3C97A7EBA70D3CF812FB157D9678EB23D0DDD2C530DD897BF CF32F23690B3F16A9A7969B0145F506276D36FD5A62FD772EFDA7056E312764D 8562DEF85B5DE3977A02165D91060F1CDCB6025FB7DCA0AEA97D995DB851106E F2992EDD183D589441F8310EBCC4E7B7E07BF17EB569506D7A516D3AC626D75B 7C82B5BC3C93C21CF350EE4329EB0BB0310217E412B7A36CBB724B4DB802C949 E671F466F386335E6EB90A62FECE5DEA558C0945E4AF1241BE87A7C0E40DEC1F 738656DBC0D025B07EEE902DC1D60ED96C398F74D7028CE1765B68726D316CF0 EAFA6B37F638A99D36670128F80CD6CFE76F393896F15CB55298526AC69D73FE 24D4D43C37E5621C264B7E1BC8D5345A56C454C4411D3CC3CE195BF4FD07EA34 77D222124F35B334D926B39B4D0DA4079EC6DB45134F94BBEC38EAA9C08E29E2 AB60632008763D497D42532ACF4670DA4390038E6142510AC88565D23CB2CE2C 4DA2A2970EB68323C72686A2D0A33B23857A9272D76009ACB4A861A9906020DC 30F04EE2B93C8528F482E0889B5B2E6F9C2C02EF012CBC346BB00D9EB87F1340 40A4D6F9038FD0EC1C0F94C5B5DFF3FEBEDDDDCF0F3153985EE4D69D5D3C868D 0AA22A96C16E21A1E0D65A4D45797D965E58278C4FC5EA5E80D9FE95740ADFF2 A93DBD276B8B8FF9798D9C4B53846FA7EED280D944D3241C4BBB867033D7231C B40FAE27787A4A41B1762A300F40D902A29F260FFC734E8B1455DBF2314F8399 E4209F1578431470775D08A2758488F37AFE0DDCE7BE0C034618F6292D66FDA3 1E7865D92201E5EAC00ED27A8C1F72D85457069BD55B90591996BA80F174238D 22A628CCAE14E1C78B6026869AE0884660B987C9103DA0D5CB8767B6130ACE5C 02607E4BBBA787B8B932F24D81DC9CF6013CDEF2FFAC00C767924ACB69A3DEB4 E14B8B1ABD759997808E25E809046B6D3CF1DBF405ED3EA80C36A28F088DE877 317CC6640FB4C223B4C2E482AFD00331B3D10736C6EE93462AC34E34BFD0491E 1B3281EFB8A3B00F1DB3367D051178B8E05BE3AA610F4EB34D5F680F68EAD88C FB189A61578A319D9C1028C8805D51BC1E77076DF94561059C1C7EF29831CC59 803FEA199C8DAE978805DC1A525B0BD6664E1BFD963409D927375C71D98DD4CF DF9E4D80FA39EC0CDF07694F0301D2CC2577FEF6EAB4A65BCFD8801BD7C1651E D82098AD06C3C34A2F0488669EBA112D9A9BA1D0E669E083920B81283855408F 21A689B57E038AC77DCCF874007583D4F9012D971F9596CB0787DFE3E6AAE109 D0965F4A57AE26E3F7D082479F0BDAB44839687AE81B6B03272C009C7E9AB09B 82DB9BD32B14197CB19785203F9D7DF802AD607244007CB133C9803ABE0A9A6B A975399C0628746F2D75AF0CD196E1116D199988939B466AB734FE98FD80E80D E22E6CECEAD38DF66AA5D78A8B240865740C909A5049023EFFF6F2A277F1E2F4 E22598A0C89D079E34AE78BCDB998162380AB0B644B6383EA5190C2423189303 9B8915935115A66D05CA0338250FCC6518DD1401D4776D9ABB284E68C2CABB2A 13CB03440CDB476F03C17A6C8ACAD709C06780A018EC4A1F31470C3BFB4C1EE7 763776656C70D87FC9407779BA869DD751BDBD83A3BA71ED6054325786A9C6A7 F570959095E6D26398B39567860CF0B3BF01FFD888F982A31A429538B7A0E3AD D214D48E499388C81DF8DF59825325D81DA95884629BA1E30E92016BE1334D98 F55F8173E01C908F200D30ED132915672487032C79DCB1CECF2035E61410C422 E2754D578F12A907B560D7797AE4FFF402697675A34A9FD0CC7EC4726A4EECE0 9C8089686903BCC2DE9C47382339CA265A127737A12B50A897675B80B407B615 4827C4B702E14CB6028C4942328CDE0926C5CC6C296AE14278E1C23E89D97423 7846DB408AD52927A7EA648C232130CA0E95673DD4AB02D2E2103DC25643E066 02B41A8EE25B015772C5B2BDFB4A3FBC44A4FBFD541B47B5545B3B47867233E5 9AE9A353C653AC639B05AD6C88DD2D39E0A4E55B00AA0A69431B7E7A1988B496 3568ED8BBF5A6BF134A8C02486064DF93C88D129C8F7221A50AC8DE9399029A2 F292A64DBCB3B24235888946D50AB5D7C459995F69FF9A0068ADD821EC78360A 4B5BA8424AA9044258F962A90E4EF688C191D23AC491FAECF4F483DA46929E6C BA975FC739C80A4EF73B003A4D56A0CCB445E563E09FF1102412F8147EC88D7C AFD19C22E059E7B4B64DB98B659A51C6E744FDCB602B0A41E691CF2E502B12DA 055CC4463964277F72B420AAF65B7D0A01358228C16DE93704DA0475903FC586 78CB93CAD76D5DC0DFE74FBA60A0A160F6E780E41511B02FF70B194B581A741B CBF21B697FE5064EE9B1F2588EF6E2CE50A6ADFC1570746CA0ED2D4247AF8EC9 86F1EDE1B5026F1D5B01C1C012184742A5B619C0327C4540DBA66EADF12E0E0C 50E0433EE0883A6ABEF44F5208A218B0D6CBD1D74336327B2B74A575F9C52271 50A7F39669845DA2D5A519A258B0661825D86D00C6BCCB60A6C9728CDDA0C577 6F5A33F977A4AA63D229A87810F64957F61D3ABBCF72248067B9F251297D411A 60F8C8D8D8ADD42C584D444290F5710C75D5C7310AAB2E8E51587957D158A987 5826A7916DE3E82F9BD226CA72E4FB523443A0D5024C2E95D2D1568792D9055F 8AB69EA98F79C1E559FED93FFCC0B1ECF083324345985E9A0EF6768BF25D356A 2480A2A4D70C502CC81610BBF4B707E41E546589B0B9BF54366C06D4A5C46608 ABBCD80C562E396E1BD22C436E81AB96267708CF2A57EE01AB4A9872B7EDA76B 48C3D635CA195AD140E1F4198327D9A06B5720AB0C228C5D946C8429EA94957C 0142A8CA656D5FB996B903E8B77D80BE5C1B7715B6D0DA0156AA89EE04DBCE5B A56EBA9BDE7640ABB6BA03262FFDD4C259F557CB88F67B86154550559AAD240D 49114AC5DA3D8006FB00BDD807E8D866FCB8C47751FCAD5762B31EDCA4E6A512 7113985D35AE87B20BC95B608A52ED16205DC26DDE9FBA02BD054217A51B645D 2A53EF03A517575A26598EB8D3AE84AC5E9B9E43477B98E04B1D407C778CB86E BC913E83724D0C970129141E82F6B8C01F63ED35963AB2619BE55EAB46D0EE16 95802AA973682CA7CE8DCC2EF696D6ACDC5D5EAE727F69A5CADDE5027C3D919A 9A7C2360A54C5F0F6954EEAB195F042815F37702AD2C53B3EBBB880A6BA8562E 09D424D611AE7A71E0CF1CA548C23E4AA91228151649C0841A87C27EEA04146B 116BC2F11C8EAE29D4A675A5C6AF2E3E6302D154F90A7D150A4AC82A280C61EC 903D050188B620A87E66FA1424736C2D6D964A776C6614ADDC9F8698D4240A63 F68395C1B6E66560A9C9EF0262F93545CA93218ABC39D98030334A1102FC168D 407736B7F0C2465E02F2706582499D43726C7DE172EB3C64084DF9B3F8C6C58B 93B27E8E694469D074B64C27EA641143670D8A349D9323DA821DF4F2787FBF74 5B3EBE646868661E1A61F74EB7D918FB65DD6C9CBAE49BB2FDB6464979FEA032 ADF4516DCD39174988C609B931C216B814AD6D0128AD6C1D203DE6804512C7BE 455B5AFE4AD6A2929430952AC76E5948468AE34F1A06246E1B06BAC1200F51BC 3624373E36762D4B5DEE34EF27E9E3882C5D0E51BDB2B403AEB8C554714CE490 E6C5A67A10EBAE53038879FD6917951A1FA9444443148526B5B14B62543ADA1E 1CF5DA5A5FC94C80A39427D0731C7DEBCA2A30E41BBF76DFD7585083546EBCA5 8656AA1771DE17EFC8DC5715B8481B9655D96440E7E0F0E3857465A368C98992 AB685E912F0D5ECAF5ED37A2B15DF6ACD12199D236F14251F135B1B1FBC93E3E 0D4DC15EE3E65AF57C25084B9FCB9DFA865B43777E09A1AED3B809D70051DC8E 6BA29FDF98B323CA572A32234D442D541DF84B89E7ED7FFDBDCDFECBE445B1FB 7B66314457EE54FD5D21B137469C27F9AAB98F675E37315861AFCAC8F9AD3D09 87BF17B12466DCE3AB85286EF6C96EE96714048CBB7E7FC637456453A5F03A50 6BA4F08AEB76C699CBACD39415E724A0EA6AB6AA770AEBA71A2D070B0C3B7FB1 213B5B9AF7F6F3E7CFDBEA360533EEF6D1CF4D6CCC9693AEC8E3B3A0D5B52684 6F3964614A7573BAD421F455488B64CB0966F4DB43BC3EF90B23F2B4DB8C3B94 6000A89D36A4B6B23872B74FA0239D7FCF93FE7F86035C189D795312615B9613 42655C4DC2A27B71391605AF569EBA5D8960256334A536DD73684B4A74656D6F 4AF20A792DA5910ED5EB23EA5D7CD01D49791020A8BCB15E7318D9ABA37E6E45 0148DD0D23F633EBABD3E58E0CBDB237D6A18563A1A197E6DA8296A6B511D6D8 87385D5A370D752FDD24DC76FF03BB7134C2483C0000 } -- Best regards, rebOldes mailto:[oliva--david--seznam--cz]

 [4/7] from: antonr:iinet:au at: 12-Sep-2003 1:22


Hi Oldes, That seems to complete successfully for those fonts, as well as pala.ttf of 479k. Will you be making a ttf writer as well? Then we could perhaps make a font editor. I see there are many variables to consider, though! :) Anton.

 [5/7] from: rebol-list2:seznam:cz at: 12-Sep-2003 0:15


Hello Anton, Thursday, September 11, 2003, 5:22:57 PM, you wrote: AR> Hi Oldes, AR> That seems to complete successfully for those fonts, AR> as well as pala.ttf of 479k. AR> Will you be making a ttf writer as well? AR> Then we could perhaps make a font editor. AR> I see there are many variables to consider, though! :) No.. the reason I made this script was to try to understand how ttf works. I had problems with one font which I wanted to modify in fontographer so I wanted to see what's going on. I found that it's too difficult to get the glyphs outlines (so I'm even not sure if I would be able to use ttf fonts in my rebol/flash dialect without other tool:( At this moment i'm not going to spend more time for that script. oldes AR> Anton.
>> AR> Looks interesting. I'll just post a bug report >> AR> for the first two fonts I tried:
<<quoted lines omitted: 6>>
>> this one is fixed: >> rebOldes mailto:[oliva--david--seznam--cz]
-- Best regards, rebOldes -----------------[ http://oldes.multimedia.cz/ ]

 [6/7] from: antonr:iinet:au at: 17-Sep-2003 14:03


Too hard? But you look so close to doing it! I'll have to check this out at some point... Can you explain where you ran into trouble? Anton.

 [7/7] from: antonr:iinet:au at: 4-Oct-2003 13:46


Oldes, Your link to the doc in your last-posted ttf-parser seems broken (you spelt typografy with an 'f'). Here is the fixed link: http://www.microsoft.com/typography/tt/ttf_spec/ttch02.doc I see what you mean about the glyphs being difficult. Anton.

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted