diff -Nru fonts-play-1.002+20111215.1/debian/changelog fonts-play-1.002+20111215.1+ds2/debian/changelog --- fonts-play-1.002+20111215.1/debian/changelog 2011-12-15 16:40:41.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/changelog 2012-02-28 17:44:02.000000000 +0000 @@ -1,3 +1,13 @@ +fonts-play (1.002+20111215.1+ds2-1) unstable; urgency=low + + * Updated to build using separate googlefontdirectory-tools + * Standards-Version 3.9.3 + - Set final DEP-5 Format: link + * debian/patches/fontfixes.patch + - Added patch with simple fontforge auto-fixes + + -- Martin Erik Werner Tue, 28 Feb 2012 18:43:05 +0100 + fonts-play (1.002+20111215.1-1) unstable; urgency=low * Initial release (Closes: #651244) diff -Nru fonts-play-1.002+20111215.1/debian/control fonts-play-1.002+20111215.1+ds2/debian/control --- fonts-play-1.002+20111215.1/debian/control 2011-12-15 15:51:14.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/control 2012-02-28 14:57:10.000000000 +0000 @@ -3,8 +3,8 @@ Priority: optional Maintainer: Debian Fonts Task Force Uploaders: Martin Erik Werner -Build-Depends: debhelper (>= 8), python (>= 2.7.2), python-fontforge -Standards-Version: 3.9.2 +Build-Depends: debhelper (>= 8), googlefontdirectory-tools +Standards-Version: 3.9.3 Homepage: http://code.google.com/p/googlefontdirectory/ Vcs-Git: git://git.debian.org/pkg-fonts/fonts-play.git Vcs-Browser: http://git.debian.org/?p=pkg-fonts/fonts-play.git;a=summary diff -Nru fonts-play-1.002+20111215.1/debian/copyright fonts-play-1.002+20111215.1+ds2/debian/copyright --- fonts-play-1.002+20111215.1/debian/copyright 2011-12-14 12:41:07.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/copyright 2012-02-28 14:57:10.000000000 +0000 @@ -1,4 +1,4 @@ -Format: http://dep.debian.net/deps/dep5 +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Play Source: http://code.google.com/p/googlefontdirectory/source/browse/play/ Everything except the source files to the "Play" font and the font-generation @@ -8,18 +8,6 @@ Copyright: 2010, 2011, Google Inc License: Apache-2.0 -Files: tools/nonhinting/prepcheck.py -Copyright: 2011 Dave Crossland (dave@understandinglimited.com) -License: Apache-2.0 - -Files: tools/nonhinting/setnonhinting-fonttools.py -Copyright: 2011 Khaled Hosny -License: Apache-2.0 - -Files: tools/generate/generate.py -Copyright: 2010, Understanding Limited -License: Apache-2.0 - Files: play/src/* Copyright: 2011, Jonas Hecksher, Playtypes, e-types AS (e-types.com) License: OFL-1.1 @@ -36,7 +24,7 @@ . The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The - fonts, including any derivative works, can be bundled, embedded, + fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The diff -Nru fonts-play-1.002+20111215.1/debian/install fonts-play-1.002+20111215.1+ds2/debian/install --- fonts-play-1.002+20111215.1/debian/install 2011-12-14 12:41:07.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/install 2012-02-28 14:57:10.000000000 +0000 @@ -1,2 +1,2 @@ -play/*.ttf usr/share/fonts/truetype/play play/*.otf usr/share/fonts/opentype/play +play/*.ttf usr/share/fonts/truetype/play diff -Nru fonts-play-1.002+20111215.1/debian/patches/fontfixes.patch fonts-play-1.002+20111215.1+ds2/debian/patches/fontfixes.patch --- fonts-play-1.002+20111215.1/debian/patches/fontfixes.patch 1970-01-01 00:00:00.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/patches/fontfixes.patch 2012-02-28 17:37:39.000000000 +0000 @@ -0,0 +1,1037 @@ +From: Martin Erik Werner +Subject: [PATCH] Intersection, naming, and integral points fixes via fontforge +Forwarded: http://code.google.com/p/googlefontdirectory/issues/detail?id=99 +Last-Update: 2012-02-28 + +diff --git a/play/src/Play-Bold-TTF.sfd b/play/src/Play-Bold-TTF.sfd +index f9e5b94..153cda2 100644 +--- a/play/src/Play-Bold-TTF.sfd ++++ b/play/src/Play-Bold-TTF.sfd +@@ -14,13 +14,14 @@ sfntRevision: 0x00010083 + LayerCount: 2 + Layer: 0 1 "Back" 1 + Layer: 1 1 "Fore" 0 ++NeedsXUIDChange: 1 + XUID: [1021 288 713564382 16558038] + FSType: 0 + OS2Version: 2 + OS2_WeightWidthSlopeOnly: 0 + OS2_UseTypoMetrics: 1 + CreationTime: 1302516099 +-ModificationTime: 1321910932 ++ModificationTime: 1330449821 + PfmFamily: 17 + TTFWeight: 700 + TTFWidth: 5 +@@ -275,7 +276,7 @@ EndASM + MacFeat: 0 0 0 + MacName: 0 0 24 "All Typographic Features" + MacName: 0 1 24 "Fonctions typographiques" +-MacName: 0 2 33 "Alle typografischen M\232glichkeiten" ++MacName: 0 2 32 "Alle typografischen Mglichkeiten" + MacName: 0 3 21 "Funzioni Tipografiche" + MacName: 0 4 28 "Alle typografische kenmerken" + MacSetting: 0 +@@ -294,7 +295,7 @@ MacSetting: 2 + MacName: 0 0 16 "Common Ligatures" + MacName: 0 1 18 "Ligatures Usuelles" + MacName: 0 2 17 "Normale Ligaturen" +-MacName: 0 3 19 "Legature pi\235 Comuni" ++MacName: 0 3 18 "Legature pi Comuni" + MacName: 0 4 28 "Gemeenschappelijke Ligaturen" + MacFeat: 3 1 0 + MacName: 0 0 11 "Letter Case" +@@ -303,13 +304,13 @@ MacName: 0 4 20 "Hoofd/kleine letters" + MacSetting: 0 + MacName: 0 0 18 "Upper & Lower Case" + MacName: 0 1 23 "Majuscules & Minuscules" +-MacName: 0 2 10 "Gro\247/Klein" ++MacName: 0 2 9 "Gro/Klein" + MacName: 0 3 21 "Maiuscolo & minuscolo" + MacName: 0 4 24 "Hoofd- en kleine letters" + MacSetting: 3 + MacName: 0 0 10 "Small Caps" + MacName: 0 1 18 "Petites Majuscules" +-MacName: 0 2 11 "Kapit\212lchen" ++MacName: 0 2 10 "Kapitlchen" + MacName: 0 3 12 "Maiuscoletto" + MacName: 0 4 19 "Kleine hoofdletters" + MacFeat: 6 1 0 +@@ -334,13 +335,13 @@ MacName: 0 3 17 "Posizione Normale" + MacName: 0 4 25 "Normale verticale positie" + MacSetting: 1 + MacName: 0 0 9 "Superiors" +-MacName: 0 1 19 "Position Sup\216rieure" ++MacName: 0 1 18 "Position Suprieure" + MacName: 0 2 12 "Hochgestellt" + MacName: 0 3 5 "Apice" + MacName: 0 4 11 "Superieuren" + MacSetting: 2 + MacName: 0 0 9 "Inferiors" +-MacName: 0 1 19 "Position Inf\216rieure" ++MacName: 0 1 18 "Position Infrieure" + MacName: 0 2 12 "Tiefgestellt" + MacName: 0 3 6 "Pedice" + MacName: 0 4 11 "Inferieuren" +@@ -367,7 +368,7 @@ MacName: 0 4 12 "Nummerhoogte" + MacSetting: 0 + MacName: 0 0 18 "Lower Case Numbers" + MacName: 0 1 31 "Chiffres Anciens (bas de casse)" +-MacName: 0 2 16 "Medi\276val-Ziffern" ++MacName: 0 2 15 "Medival-Ziffern" + MacName: 0 3 19 "Sopra la Linea Base" + MacName: 0 4 14 "Kleine nummers" + MacSetting: 1 +@@ -3903,7 +3904,7 @@ SplineSet + EndSplineSet + EndChar + +-StartChar: mu ++StartChar: uni00B5 + Encoding: 181 181 118 + AltUni2: 0003bc.ffffffff.0 + Width: 595 +@@ -4869,32 +4870,37 @@ StartChar: Eth + Encoding: 208 208 145 + Width: 677 + Flags: W ++HStem: 0 111<226 476.91> 284 101<10 70 226 348> 538 111<226 464.631> ++VStem: 70 156<111 284 385 538> 498 156<131.741 507.873> + LayerCount: 2 + Fore + SplineSet +-10 385 m 1,0,-1 +- 348 385 l 1,1,-1 +- 348 284 l 1,2,-1 +- 10 284 l 1,3,-1 +- 10 385 l 1,0,-1 +-654 452 m 2,4,-1 +- 654 188 l 2,5,6 +- 654 78 654 78 586 39 c 128,-1,7 +- 518 0 518 0 347 0 c 2,8,-1 +- 70 0 l 1,9,-1 +- 70 649 l 1,10,-1 +- 346 649 l 2,11,12 +- 511 649 511 649 582.5 608 c 128,-1,13 +- 654 567 654 567 654 452 c 2,4,-1 +-498 188 m 2,14,-1 +- 498 455 l 2,15,16 +- 498 502 498 502 460 520 c 128,-1,17 +- 422 538 422 538 345 538 c 2,18,-1 +- 226 538 l 1,19,-1 +- 226 111 l 1,20,-1 +- 340 111 l 2,21,22 +- 430 111 430 111 464 124.5 c 128,-1,23 +- 498 138 498 138 498 188 c 2,14,-1 ++498 188 m 2,0,-1 ++ 498 455 l 2,1,2 ++ 498 502 498 502 460 520 c 128,-1,3 ++ 422 538 422 538 345 538 c 2,4,-1 ++ 226 538 l 1,5,-1 ++ 226 385 l 1,6,-1 ++ 348 385 l 1,7,-1 ++ 348 284 l 1,8,-1 ++ 226 284 l 1,9,-1 ++ 226 111 l 1,10,-1 ++ 340 111 l 2,11,12 ++ 430 111 430 111 464 124.5 c 128,-1,13 ++ 498 138 498 138 498 188 c 2,0,-1 ++654 452 m 2,14,-1 ++ 654 188 l 2,15,16 ++ 654 78 654 78 586 39 c 128,-1,17 ++ 518 0 518 0 347 0 c 2,18,-1 ++ 70 0 l 1,19,-1 ++ 70 284 l 1,20,-1 ++ 10 284 l 1,21,-1 ++ 10 385 l 1,22,-1 ++ 70 385 l 1,23,-1 ++ 70 649 l 1,24,-1 ++ 346 649 l 2,25,26 ++ 511 649 511 649 582.5 608 c 128,-1,27 ++ 654 567 654 567 654 452 c 2,14,-1 + EndSplineSet + EndChar + +@@ -7774,33 +7780,34 @@ StartChar: Eogonek + Encoding: 280 280 217 + Width: 610 + Flags: W ++HStem: -186 71<480.5 574.388> 0 111<226 442 524.585 575> 278 111<226 532> 538 111<226 565> ++VStem: 70 156<111 278 389 538> 406 101<-109.659 -24.2028> + LayerCount: 2 + Fore + SplineSet +-575 0 m 1,0,-1 +- 70 0 l 1,1,-1 +- 70 649 l 1,2,-1 +- 565 649 l 1,3,-1 +- 565 538 l 1,4,-1 +- 226 538 l 1,5,-1 +- 226 389 l 1,6,-1 +- 532 389 l 1,7,-1 +- 532 278 l 1,8,-1 +- 226 278 l 1,9,-1 +- 226 111 l 1,10,-1 +- 575 111 l 1,11,-1 +- 575 0 l 1,0,-1 +-505 -186 m 128,-1,13 +- 456 -186 456 -186 431 -167.5 c 128,-1,14 +- 406 -149 406 -149 406 -106 c 0,15,16 +- 406 -56 406 -56 442 0 c 1,17,-1 ++505 -186 m 128,-1,1 ++ 456 -186 456 -186 431 -167.5 c 128,-1,2 ++ 406 -149 406 -149 406 -106 c 0,3,4 ++ 406 -56 406 -56 442 0 c 1,5,-1 ++ 70 0 l 1,6,-1 ++ 70 649 l 1,7,-1 ++ 565 649 l 1,8,-1 ++ 565 538 l 1,9,-1 ++ 226 538 l 1,10,-1 ++ 226 389 l 1,11,-1 ++ 532 389 l 1,12,-1 ++ 532 278 l 1,13,-1 ++ 226 278 l 1,14,-1 ++ 226 111 l 1,15,-1 ++ 575 111 l 1,16,-1 ++ 575 0 l 1,17,-1 + 537 0 l 1,18,19 + 507 -47 507 -47 507 -83 c 0,20,21 + 507 -99 507 -99 515 -107 c 128,-1,22 + 523 -115 523 -115 545 -115 c 0,23,24 + 557 -115 557 -115 575 -109 c 1,25,-1 +- 575 -176 l 1,26,12 +- 554 -186 554 -186 505 -186 c 128,-1,13 ++ 575 -176 l 1,26,0 ++ 554 -186 554 -186 505 -186 c 128,-1,1 + EndSplineSet + EndChar + +@@ -10189,52 +10196,52 @@ StartChar: Scedilla + Encoding: 350 350 287 + Width: 606 + Flags: W ++HStem: -220 51<210.133 325.769> -10 111<80.2461 271> 276 118<206.748 394.46> 548 111<216.399 531.643> ++VStem: 37 156<410.846 530.985> 328 80<-165.248 -104.48> 412 156<125.604 256.919> + LayerCount: 2 + Fore + SplineSet + 568 228 m 2,0,-1 + 568 185 l 2,1,2 + 568 127 568 127 547 87.5 c 128,-1,3 +- 526 48 526 48 485 27.5 c 128,-1,4 +- 444 7 444 7 395.5 -1.5 c 128,-1,5 +- 347 -10 347 -10 280 -10 c 0,6,7 +- 187 -10 187 -10 50 8 c 1,8,-1 +- 50 127 l 1,9,10 +- 216 101 216 101 282 101 c 0,11,12 +- 412 101 412 101 412 168 c 2,13,-1 +- 412 210 l 2,14,15 +- 412 239 412 239 395 257.5 c 128,-1,16 +- 378 276 378 276 327 276 c 2,17,-1 +- 251 276 l 2,18,19 +- 37 276 37 276 37 446 c 2,20,-1 +- 37 494 l 2,21,22 +- 37 578 37 578 107.5 618.5 c 128,-1,23 +- 178 659 178 659 333 659 c 0,24,25 +- 408 659 408 659 536 646 c 1,26,-1 +- 536 530 l 1,27,28 +- 384 548 384 548 328 548 c 0,29,30 +- 251 548 251 548 222 535 c 128,-1,31 +- 193 522 193 522 193 491 c 2,32,-1 +- 193 445 l 2,33,34 +- 193 394 193 394 279 394 c 2,35,-1 +- 357 394 l 2,36,37 +- 471 394 471 394 519.5 352 c 128,-1,38 ++ 526 48 526 48 485 28 c 0,4,5 ++ 440 5 440 5 396 -2 c 0,6,7 ++ 371 -6 371 -6 341 -8 c 1,8,-1 ++ 311 -50 l 1,9,10 ++ 352 -53 352 -53 380 -71.5 c 128,-1,11 ++ 408 -90 408 -90 408 -129 c 0,12,13 ++ 408 -174 408 -174 371.5 -197 c 128,-1,14 ++ 335 -220 335 -220 288 -220 c 0,15,16 ++ 232 -220 232 -220 197 -197 c 1,17,-1 ++ 219 -151 l 1,18,19 ++ 249 -169 249 -169 281 -169 c 0,20,21 ++ 328 -169 328 -169 328 -134 c 0,22,23 ++ 328 -96 328 -96 253 -96 c 2,24,-1 ++ 213 -96 l 1,25,26 ++ 216 -90 216 -90 245 -48 c 0,27,28 ++ 263 -22 263 -22 271 -10 c 1,29,30 ++ 180 -9 180 -9 50 8 c 1,31,-1 ++ 50 127 l 1,32,33 ++ 216 101 216 101 282 101 c 0,34,35 ++ 412 101 412 101 412 168 c 2,36,-1 ++ 412 210 l 2,37,38 ++ 412 239 412 239 395 257.5 c 128,-1,39 ++ 378 276 378 276 327 276 c 2,40,-1 ++ 251 276 l 2,41,42 ++ 37 276 37 276 37 446 c 2,43,-1 ++ 37 494 l 2,44,45 ++ 37 578 37 578 107.5 618.5 c 128,-1,46 ++ 178 659 178 659 333 659 c 0,47,48 ++ 408 659 408 659 536 646 c 1,49,-1 ++ 536 530 l 1,50,51 ++ 384 548 384 548 328 548 c 0,52,53 ++ 251 548 251 548 222 535 c 128,-1,54 ++ 193 522 193 522 193 491 c 2,55,-1 ++ 193 445 l 2,56,57 ++ 193 394 193 394 279 394 c 2,58,-1 ++ 357 394 l 2,59,60 ++ 471 394 471 394 519.5 352 c 128,-1,61 + 568 310 568 310 568 228 c 2,0,-1 +-277 0 m 1,39,-1 +- 347 0 l 1,40,-1 +- 311 -50 l 1,41,42 +- 352 -53 352 -53 380 -71.5 c 128,-1,43 +- 408 -90 408 -90 408 -129 c 0,44,45 +- 408 -174 408 -174 371.5 -197 c 128,-1,46 +- 335 -220 335 -220 288 -220 c 0,47,48 +- 232 -220 232 -220 197 -197 c 1,49,-1 +- 219 -151 l 1,50,51 +- 249 -169 249 -169 281 -169 c 0,52,53 +- 328 -169 328 -169 328 -134 c 0,54,55 +- 328 -96 328 -96 253 -96 c 2,56,-1 +- 213 -96 l 1,57,58 +- 215 -92 215 -92 245 -48 c 128,-1,59 +- 275 -4 275 -4 277 0 c 1,39,-1 + EndSplineSet + EndChar + +@@ -10242,6 +10249,8 @@ StartChar: scedilla + Encoding: 351 351 288 + Width: 525 + Flags: W ++HStem: -220 51<170.133 285.769> -10 91<58.323 231> 199 106<200.894 323.586> 404 90<199.42 452.651> ++VStem: 44 144<315.313 395.231> 288 80<-165.248 -104.48> 337 144<90.6641 187.138> + LayerCount: 2 + Fore + SplineSet +@@ -10249,48 +10258,46 @@ SplineSet + 481 128 l 2,1,2 + 481 92 481 92 467.5 66 c 128,-1,3 + 454 40 454 40 433.5 25.5 c 128,-1,4 +- 413 11 413 11 380 3 c 128,-1,5 +- 347 -5 347 -5 316.5 -7.5 c 128,-1,6 +- 286 -10 286 -10 245 -10 c 0,7,8 +- 166 -10 166 -10 54 5 c 1,9,-1 +- 54 102 l 1,10,11 +- 193 81 193 81 247 81 c 0,12,13 +- 290 81 290 81 313.5 89.5 c 128,-1,14 +- 337 98 337 98 337 123 c 2,15,-1 +- 337 153 l 2,16,17 +- 337 176 337 176 324 187.5 c 128,-1,18 +- 311 199 311 199 268 199 c 2,19,-1 +- 205 199 l 2,20,21 +- 129 199 129 199 86.5 229.5 c 128,-1,22 +- 44 260 44 260 44 319 c 2,23,-1 +- 44 378 l 2,24,25 +- 44 444 44 444 107 469 c 128,-1,26 +- 170 494 170 494 285 494 c 0,27,28 +- 333 494 333 494 457 485 c 1,29,-1 +- 457 392 l 1,30,31 +- 301 404 301 404 281 404 c 0,32,33 +- 220 404 220 404 204 395.5 c 128,-1,34 +- 188 387 188 387 188 363 c 2,35,-1 +- 188 337 l 2,36,37 +- 188 325 188 325 200.5 315 c 128,-1,38 +- 213 305 213 305 239 305 c 2,39,-1 +- 303 305 l 2,40,41 ++ 413 11 413 11 380 3 c 0,5,6 ++ 335 -8 335 -8 316 -8 c 0,7,8 ++ 309 -8 309 -8 301 -9 c 1,9,-1 ++ 271 -50 l 1,10,11 ++ 312 -53 312 -53 340 -71.5 c 128,-1,12 ++ 368 -90 368 -90 368 -129 c 0,13,14 ++ 368 -174 368 -174 331.5 -197 c 128,-1,15 ++ 295 -220 295 -220 248 -220 c 0,16,17 ++ 192 -220 192 -220 157 -197 c 1,18,-1 ++ 179 -151 l 1,19,20 ++ 209 -169 209 -169 241 -169 c 0,21,22 ++ 288 -169 288 -169 288 -134 c 0,23,24 ++ 288 -96 288 -96 213 -96 c 2,25,-1 ++ 173 -96 l 1,26,27 ++ 176 -90 176 -90 205 -48 c 0,28,29 ++ 223 -22 223 -22 231 -10 c 1,30,31 ++ 156 -9 156 -9 54 5 c 1,32,-1 ++ 54 102 l 1,33,34 ++ 193 81 193 81 247 81 c 0,35,36 ++ 290 81 290 81 313.5 89.5 c 128,-1,37 ++ 337 98 337 98 337 123 c 2,38,-1 ++ 337 153 l 2,39,40 ++ 337 176 337 176 324 187.5 c 128,-1,41 ++ 311 199 311 199 268 199 c 2,42,-1 ++ 205 199 l 2,43,44 ++ 129 199 129 199 86.5 229.5 c 128,-1,45 ++ 44 260 44 260 44 319 c 2,46,-1 ++ 44 378 l 2,47,48 ++ 44 444 44 444 107 469 c 128,-1,49 ++ 170 494 170 494 285 494 c 0,50,51 ++ 333 494 333 494 457 485 c 1,52,-1 ++ 457 392 l 1,53,54 ++ 301 404 301 404 281 404 c 0,55,56 ++ 220 404 220 404 204 395.5 c 128,-1,57 ++ 188 387 188 387 188 363 c 2,58,-1 ++ 188 337 l 2,59,60 ++ 188 325 188 325 200.5 315 c 128,-1,61 ++ 213 305 213 305 239 305 c 2,62,-1 ++ 303 305 l 2,63,64 + 481 305 481 305 481 189 c 2,0,-1 +-237 0 m 1,42,-1 +- 307 0 l 1,43,-1 +- 271 -50 l 1,44,45 +- 312 -53 312 -53 340 -71.5 c 128,-1,46 +- 368 -90 368 -90 368 -129 c 0,47,48 +- 368 -174 368 -174 331.5 -197 c 128,-1,49 +- 295 -220 295 -220 248 -220 c 0,50,51 +- 192 -220 192 -220 157 -197 c 1,52,-1 +- 179 -151 l 1,53,54 +- 209 -169 209 -169 241 -169 c 0,55,56 +- 288 -169 288 -169 288 -134 c 0,57,58 +- 288 -96 288 -96 213 -96 c 2,59,-1 +- 173 -96 l 1,60,61 +- 175 -92 175 -92 205 -48 c 128,-1,62 +- 235 -4 235 -4 237 0 c 1,42,-1 + EndSplineSet + Substitution2: "<3,3> Small Caps in Latin lookup 11 subtable" scedilla.smcp + EndChar +@@ -26842,6 +26849,7 @@ SplineSet + 862 221 862 221 875 204 c 128,-1,39 + 888 187 888 187 888 163 c 2,11,-1 + EndSplineSet ++LCarets2: 2 0 0 + Ligature2: "<11,2> Diagonal Fractions lookup 5 subtable" one.alt fraction five.alt + Ligature2: "<11,2> Diagonal Fractions lookup 5 subtable" one.alt fraction five.sinf + Ligature2: "<11,2> Diagonal Fractions lookup 5 subtable" one.alt fraction five.sups +@@ -34636,49 +34644,50 @@ StartChar: six.tscf + Encoding: 65811 -1 965 + Width: 580 + Flags: W +-LayerCount: 2 +-Fore +-SplineSet +-525 172 m 2,0,-1 +- 525 169 l 2,1,2 +- 525 121 525 121 510.5 87 c 128,-1,3 +- 496 53 496 53 475 34.5 c 128,-1,4 +- 454 16 454 16 420.5 5.5 c 128,-1,5 +- 387 -5 387 -5 358 -7.5 c 128,-1,6 +- 329 -10 329 -10 289 -10 c 0,7,8 +- 248 -10 248 -10 219 -7.5 c 128,-1,9 +- 190 -5 190 -5 156.5 5.5 c 128,-1,10 +- 123 16 123 16 103 34.5 c 128,-1,11 +- 83 53 83 53 69 87 c 128,-1,12 +- 55 121 55 121 55 169 c 2,13,-1 +- 55 306 l 2,14,15 +- 55 357 55 357 72.5 393.5 c 128,-1,16 +- 90 430 90 430 114 449 c 128,-1,17 +- 138 468 138 468 176.5 478.5 c 128,-1,18 +- 215 489 215 489 244.5 491.5 c 128,-1,19 +- 274 494 274 494 314 494 c 0,20,21 +- 350 494 350 494 494 484 c 1,22,-1 +- 494 377 l 1,23,24 +- 354 393 354 393 301 393 c 0,25,26 +- 233 393 233 393 216.5 381 c 128,-1,27 +- 200 369 200 369 200 317 c 2,28,-1 +- 200 320 l 1,29,-1 +- 307 320 l 2,30,31 +- 355 320 355 320 381 318.5 c 128,-1,32 +- 407 317 407 317 439 309 c 128,-1,33 +- 471 301 471 301 487 286 c 128,-1,34 +- 503 271 503 271 514 242.5 c 128,-1,35 +- 525 214 525 214 525 172 c 2,0,-1 +-380 162 m 2,36,-1 +- 380 171 l 2,37,38 +- 380 205 380 205 365 214.5 c 128,-1,39 +- 350 224 350 224 290 224 c 2,40,-1 +- 200 224 l 1,41,-1 +- 200 161 l 2,42,43 +- 200 113 200 113 214.5 100 c 128,-1,44 +- 229 87 229 87 291 87 c 128,-1,45 +- 353 87 353 87 366.5 99.5 c 128,-1,46 +- 380 112 380 112 380 162 c 2,36,-1 ++HStem: -10 97<211.932 369.424> 224 96<200 364.52> 393 101<212.504 489.586> ++VStem: 55 145<100.415 224 320 380.616> 380 145<99.8998 214.197> ++LayerCount: 2 ++Fore ++SplineSet ++380 162 m 2,0,-1 ++ 380 171 l 2,1,2 ++ 380 205 380 205 365 214.5 c 128,-1,3 ++ 350 224 350 224 290 224 c 2,4,-1 ++ 200 224 l 1,5,-1 ++ 200 161 l 2,6,7 ++ 200 113 200 113 214.5 100 c 128,-1,8 ++ 229 87 229 87 291 87 c 128,-1,9 ++ 353 87 353 87 366.5 99.5 c 128,-1,10 ++ 380 112 380 112 380 162 c 2,0,-1 ++525 172 m 2,11,-1 ++ 525 169 l 2,12,13 ++ 525 121 525 121 510.5 87 c 128,-1,14 ++ 496 53 496 53 475 34.5 c 128,-1,15 ++ 454 16 454 16 420.5 5.5 c 128,-1,16 ++ 387 -5 387 -5 358 -7.5 c 128,-1,17 ++ 329 -10 329 -10 289 -10 c 0,18,19 ++ 248 -10 248 -10 219 -7.5 c 128,-1,20 ++ 190 -5 190 -5 156.5 5.5 c 128,-1,21 ++ 123 16 123 16 103 34.5 c 128,-1,22 ++ 83 53 83 53 69 87 c 128,-1,23 ++ 55 121 55 121 55 169 c 2,24,-1 ++ 55 306 l 2,25,26 ++ 55 357 55 357 72.5 393.5 c 128,-1,27 ++ 90 430 90 430 114 449 c 128,-1,28 ++ 138 468 138 468 176.5 478.5 c 128,-1,29 ++ 215 489 215 489 244.5 491.5 c 128,-1,30 ++ 274 494 274 494 314 494 c 0,31,32 ++ 350 494 350 494 494 484 c 1,33,-1 ++ 494 377 l 1,34,35 ++ 354 393 354 393 301 393 c 0,36,37 ++ 233 393 233 393 216 381 c 0,38,39 ++ 200 369 200 369 200 320 c 1,40,-1 ++ 307 320 l 2,41,42 ++ 355 320 355 320 381 318.5 c 128,-1,43 ++ 407 317 407 317 439 309 c 128,-1,44 ++ 471 301 471 301 487 286 c 128,-1,45 ++ 503 271 503 271 514 242.5 c 128,-1,46 ++ 525 214 525 214 525 172 c 2,11,-1 + EndSplineSet + EndChar + +@@ -34757,49 +34766,50 @@ StartChar: nine.tscf + Encoding: 65814 -1 968 + Width: 580 + Flags: W +-LayerCount: 2 +-Fore +-SplineSet +-55 312 m 2,0,-1 +- 55 315 l 2,1,2 +- 55 363 55 363 69.5 397 c 128,-1,3 +- 84 431 84 431 105 449.5 c 128,-1,4 +- 126 468 126 468 159.5 478.5 c 128,-1,5 +- 193 489 193 489 222 491.5 c 128,-1,6 +- 251 494 251 494 291 494 c 0,7,8 +- 332 494 332 494 361 491.5 c 128,-1,9 +- 390 489 390 489 423.5 478.5 c 128,-1,10 +- 457 468 457 468 477 449.5 c 128,-1,11 +- 497 431 497 431 511 397 c 128,-1,12 +- 525 363 525 363 525 315 c 2,13,-1 +- 525 178 l 2,14,15 +- 525 127 525 127 507.5 90.5 c 128,-1,16 +- 490 54 490 54 466 35 c 128,-1,17 +- 442 16 442 16 403.5 5.5 c 128,-1,18 +- 365 -5 365 -5 335.5 -7.5 c 128,-1,19 +- 306 -10 306 -10 266 -10 c 0,20,21 +- 230 -10 230 -10 86 0 c 1,22,-1 +- 86 107 l 1,23,24 +- 226 91 226 91 279 91 c 0,25,26 +- 347 91 347 91 363.5 103 c 128,-1,27 +- 380 115 380 115 380 167 c 2,28,-1 +- 380 164 l 1,29,-1 +- 273 164 l 2,30,31 +- 225 164 225 164 199 165.5 c 128,-1,32 +- 173 167 173 167 141 175 c 128,-1,33 +- 109 183 109 183 93 198 c 128,-1,34 +- 77 213 77 213 66 241.5 c 128,-1,35 +- 55 270 55 270 55 312 c 2,0,-1 +-200 322 m 2,36,-1 +- 200 313 l 2,37,38 +- 200 279 200 279 215 269.5 c 128,-1,39 +- 230 260 230 260 290 260 c 2,40,-1 +- 380 260 l 1,41,-1 +- 380 323 l 2,42,43 +- 380 371 380 371 365.5 384 c 128,-1,44 +- 351 397 351 397 289 397 c 128,-1,45 +- 227 397 227 397 213.5 384.5 c 128,-1,46 +- 200 372 200 372 200 322 c 2,36,-1 ++HStem: -10 101<90.4137 367.496> 164 96<215.48 380> 397 97<210.576 368.068> ++VStem: 55 145<269.803 384.1> 380 145<103.384 164 260 383.585> ++LayerCount: 2 ++Fore ++SplineSet ++200 322 m 2,0,-1 ++ 200 313 l 2,1,2 ++ 200 279 200 279 215 269.5 c 128,-1,3 ++ 230 260 230 260 290 260 c 2,4,-1 ++ 380 260 l 1,5,-1 ++ 380 323 l 2,6,7 ++ 380 371 380 371 365.5 384 c 128,-1,8 ++ 351 397 351 397 289 397 c 128,-1,9 ++ 227 397 227 397 213.5 384.5 c 128,-1,10 ++ 200 372 200 372 200 322 c 2,0,-1 ++55 312 m 2,11,-1 ++ 55 315 l 2,12,13 ++ 55 363 55 363 69.5 397 c 128,-1,14 ++ 84 431 84 431 105 449.5 c 128,-1,15 ++ 126 468 126 468 159.5 478.5 c 128,-1,16 ++ 193 489 193 489 222 491.5 c 128,-1,17 ++ 251 494 251 494 291 494 c 0,18,19 ++ 332 494 332 494 361 491.5 c 128,-1,20 ++ 390 489 390 489 423.5 478.5 c 128,-1,21 ++ 457 468 457 468 477 449.5 c 128,-1,22 ++ 497 431 497 431 511 397 c 128,-1,23 ++ 525 363 525 363 525 315 c 2,24,-1 ++ 525 178 l 2,25,26 ++ 525 127 525 127 507.5 90.5 c 128,-1,27 ++ 490 54 490 54 466 35 c 128,-1,28 ++ 442 16 442 16 403.5 5.5 c 128,-1,29 ++ 365 -5 365 -5 335.5 -7.5 c 128,-1,30 ++ 306 -10 306 -10 266 -10 c 0,31,32 ++ 230 -10 230 -10 86 0 c 1,33,-1 ++ 86 107 l 1,34,35 ++ 226 91 226 91 279 91 c 0,36,37 ++ 347 91 347 91 364 103 c 0,38,39 ++ 380 115 380 115 380 164 c 1,40,-1 ++ 273 164 l 2,41,42 ++ 225 164 225 164 199 165.5 c 128,-1,43 ++ 173 167 173 167 141 175 c 128,-1,44 ++ 109 183 109 183 93 198 c 128,-1,45 ++ 77 213 77 213 66 241.5 c 128,-1,46 ++ 55 270 55 270 55 312 c 2,11,-1 + EndSplineSet + EndChar + +diff --git a/play/src/Play-Regular-TTF.sfd b/play/src/Play-Regular-TTF.sfd +index 873353d..162ff6d 100644 +--- a/play/src/Play-Regular-TTF.sfd ++++ b/play/src/Play-Regular-TTF.sfd +@@ -13,13 +13,14 @@ Descent: 200 + LayerCount: 2 + Layer: 0 1 "Back" 1 + Layer: 1 1 "Fore" 0 ++NeedsXUIDChange: 1 + XUID: [1021 884 780063683 13890653] + FSType: 0 + OS2Version: 2 + OS2_WeightWidthSlopeOnly: 0 + OS2_UseTypoMetrics: 1 + CreationTime: 1299168461 +-ModificationTime: 1321910969 ++ModificationTime: 1330443213 + PfmFamily: 33 + TTFWeight: 400 + TTFWidth: 5 +@@ -76,7 +77,7 @@ Lookup: 4 0 1 "'liga' Standard Ligatures in Latin lookup 19" {"'liga' Standard + Lookup: 1 0 0 "'c2sc' Capitals to Small Capitals in Latin lookup 20" {"'c2sc' Capitals to Small Capitals in Latin lookup 20 subtable" } ['c2sc' ('latn' <'dflt' > ) ] + Lookup: 1 0 0 "'smcp' Lowercase to Small Capitals in Latin lookup 21" {"'smcp' Lowercase to Small Capitals in Latin lookup 21 subtable" } ['smcp' ('latn' <'dflt' > ) ] + Lookup: 1 0 0 "Single Substitution lookup 22" {"Single Substitution lookup 22 subtable" } [] +-Lookup: 258 0 0 "'kern' Horizontal Kerning in Latin lookup 0" {"'kern' Horizontal Kerning in Latin lookup 0 per glyph data 0" "'kern' Horizontal Kerning in Latin lookup 0 per glyph data 1" "'kern' Horizontal Kerning in Latin lookup 0 kerning class 2" } ['kern' ('latn' <'dflt' > ) ] ++Lookup: 258 0 0 "'kern' Horizontal Kerning in Latin lookup 0" {"'kern' Horizontal Kerning in Latin lookup 0 per glyph data 0" "'kern' Horizontal Kerning in Latin lookup 0 per glyph data 1" "'kern' Horizontal Kerning in Latin lookup 0 kerning class 2" } ['kern' ('cyrl' <'dflt' > 'grek' <'dflt' > 'latn' <'dflt' > ) ] + MarkAttachClasses: 1 + DEI: 91125 + KernClass2: 84+ 92 "'kern' Horizontal Kerning in Latin lookup 0 kerning class 2" +@@ -4004,7 +4005,7 @@ SplineSet + EndSplineSet + EndChar + +-StartChar: mu ++StartChar: uni00B5 + Encoding: 181 181 115 + Width: 573 + Flags: MW +@@ -13664,6 +13665,7 @@ SplineSet + 836 230 836 230 863.5 210.5 c 128,-1,35 + 891 191 891 191 891 152 c 2,11,-1 + EndSplineSet ++LCarets2: 2 0 0 + Ligature2: "'frac' Diagonal Fractions in Latin lookup 14 subtable" one.sinf fraction five.sinf + Ligature2: "'frac' Diagonal Fractions in Latin lookup 14 subtable" one.sinf fraction five.sups + Ligature2: "'frac' Diagonal Fractions in Latin lookup 14 subtable" one.sinf fraction five.alt +@@ -15328,7 +15330,7 @@ SplineSet + EndSplineSet + EndChar + +-StartChar: Delta ++StartChar: uni2206 + Encoding: 8710 8710 390 + Width: 652 + Flags: MW +@@ -25532,8 +25534,8 @@ SplineSet + 156 424 156 424 182.5 434 c 128,-1,18 + 209 444 209 444 257 459 c 1,19,-1 + 261 461 l 1,20,21 +- 162.305 542.952 162.305 542.952 146.433 562.289 c 0,22,23 +- 127 585.964 127 585.964 127 617 c 0,24,25 ++ 162 543 162 543 146 562 c 0,22,23 ++ 127 586 127 586 127 617 c 0,24,25 + 127 655 127 655 157.5 674 c 128,-1,26 + 188 693 188 693 258 693 c 2,27,-1 + 426 693 l 1,28,-1 +@@ -25541,28 +25543,28 @@ SplineSet + 264 632 l 2,30,31 + 241 632 241 632 232 627 c 128,-1,32 + 223 622 223 622 223 608 c 0,33,34 +- 223 598 223 598 236 584.5 c 128,-1,35 +- 249 571 249 571 286 541 c 0,36,37 +- 415.478 433.509 415.478 433.509 448.805 395.914 c 1,38,39 +- 504.089 326.516 504.089 326.516 506 253 c 1,0,-1 +-414 140 m 2,40,-1 +- 414 237 l 2,41,42 +- 414 290 414 290 390.5 328 c 128,-1,43 +- 367 366 367 366 304 418 c 1,44,-1 +- 302 418 l 1,45,46 +- 251 403 251 403 227.5 393.5 c 128,-1,47 +- 204 384 204 384 183.5 365.5 c 128,-1,48 +- 163 347 163 347 157.5 320.5 c 128,-1,49 +- 152 294 152 294 152 247 c 2,50,-1 +- 152 140 l 2,51,52 +- 152 108 152 108 159 89 c 128,-1,53 +- 166 70 166 70 185 61.5 c 128,-1,54 +- 204 53 204 53 224 51 c 128,-1,55 +- 244 49 244 49 283 49 c 128,-1,56 +- 322 49 322 49 342 51 c 128,-1,57 +- 362 53 362 53 381 61.5 c 128,-1,58 +- 400 70 400 70 407 89 c 128,-1,59 +- 414 108 414 108 414 140 c 2,40,-1 ++ 223 598 223 598 236 584 c 0,35,36 ++ 246 574 246 574 286 541 c 0,37,38 ++ 413 436 413 436 449 396 c 1,39,40 ++ 504 327 504 327 506 253 c 1,0,-1 ++414 140 m 2,41,-1 ++ 414 237 l 2,42,43 ++ 414 290 414 290 390.5 328 c 128,-1,44 ++ 367 366 367 366 304 418 c 1,45,-1 ++ 302 418 l 1,46,47 ++ 251 403 251 403 227.5 393.5 c 128,-1,48 ++ 204 384 204 384 183.5 365.5 c 128,-1,49 ++ 163 347 163 347 157.5 320.5 c 128,-1,50 ++ 152 294 152 294 152 247 c 2,51,-1 ++ 152 140 l 2,52,53 ++ 152 108 152 108 159 89 c 128,-1,54 ++ 166 70 166 70 185 61.5 c 128,-1,55 ++ 204 53 204 53 224 51 c 128,-1,56 ++ 244 49 244 49 283 49 c 128,-1,57 ++ 322 49 322 49 342 51 c 128,-1,58 ++ 362 53 362 53 381 61.5 c 128,-1,59 ++ 400 70 400 70 407 89 c 128,-1,60 ++ 414 108 414 108 414 140 c 2,41,-1 + EndSplineSet + EndChar + +@@ -30405,7 +30407,7 @@ Fore + SplineSet + 583 444 m 1,0,-1 + 544 382 l 1,1,2 +- 491.5 412 491.5 412 460 412 c 0,3,4 ++ 492 412 492 412 460 412 c 0,3,4 + 429 412 429 412 410 360 c 2,5,-1 + 274 0 l 1,6,-1 + 197 0 l 1,7,-1 +@@ -32161,7 +32163,7 @@ EndChar + StartChar: uni04BC + Encoding: 1212 1212 881 + Width: 750 +-Flags: MW ++Flags: HMW + HStem: -10 21G<334.5 468.5> 640 20G<318.5 504> + LayerCount: 2 + Fore +@@ -32175,35 +32177,34 @@ SplineSet + 533 -10 533 -10 410 -10 c 0,9,10 + 286 -10 286 -10 208.5 37 c 128,-1,11 + 131 84 131 84 131 186 c 2,12,-1 +- 131 441 l 2,13,14 +- 131 560 131 560 199 610 c 128,-1,15 +- 267 660 267 660 416 660 c 0,16,17 +- 555 660 555 660 619.5 612 c 128,-1,18 +- 684 564 684 564 684 441 c 2,19,-1 ++ 131 298 l 1,13,14 ++ 64 298 64 298 32.5 321 c 128,-1,15 ++ 1 344 1 344 1 397 c 0,16,17 ++ 1 426 1 426 10 462 c 1,18,-1 ++ 78 446 l 1,19,20 ++ 72 426 72 426 72 407 c 0,21,22 ++ 72 380 72 380 85.5 368.5 c 128,-1,23 ++ 99 357 99 357 131 357 c 1,24,-1 ++ 131 441 l 2,25,26 ++ 131 560 131 560 199 610 c 128,-1,27 ++ 267 660 267 660 416 660 c 0,28,29 ++ 555 660 555 660 619.5 612 c 128,-1,30 ++ 684 564 684 564 684 441 c 2,31,-1 + 684 288 l 1,0,-1 +-590 357 m 1,20,-1 +- 590 492 l 2,21,22 +- 590 596 590 596 413 596 c 0,23,24 +- 326 596 326 596 275.5 573.5 c 128,-1,25 +- 225 551 225 551 225 492 c 2,26,-1 +- 225 357 l 1,27,-1 +- 590 357 l 1,20,-1 +-131 357 m 1,28,-1 +- 131 298 l 1,29,30 +- 64 298 64 298 32.5 321 c 128,-1,31 +- 1 344 1 344 1 397 c 0,32,33 +- 1 426 1 426 10 462 c 1,34,-1 +- 78 446 l 1,35,36 +- 72 426.5 72 426.5 72 407 c 0,37,38 +- 72 380 72 380 85.5 368.5 c 128,-1,39 +- 99 357 99 357 131 357 c 1,28,-1 ++590 357 m 1,32,-1 ++ 590 492 l 2,33,34 ++ 590 596 590 596 413 596 c 0,35,36 ++ 326 596 326 596 275.5 573.5 c 128,-1,37 ++ 225 551 225 551 225 492 c 2,38,-1 ++ 225 357 l 1,39,-1 ++ 590 357 l 1,32,-1 + EndSplineSet + EndChar + + StartChar: uni04BD + Encoding: 1213 1213 882 + Width: 604 +-Flags: MW ++Flags: HMW + HStem: -10 21G<282.5 383> 222 59<107.5 129 107.5 129 220 455> 434 60<303.5 380> + LayerCount: 2 + Fore +@@ -32223,7 +32224,7 @@ SplineSet + -1 268 -1 268 -1 321 c 0,16,17 + -1 350 -1 350 8 386 c 1,18,-1 + 76 370 l 1,19,20 +- 70 350.5 70 350.5 70 331 c 0,21,22 ++ 70 350 70 350 70 331 c 0,21,22 + 70 304 70 304 83.5 292.5 c 128,-1,23 + 97 281 97 281 129 281 c 1,24,-1 + 129 329 l 2,25,26 +@@ -32246,105 +32247,100 @@ EndChar + StartChar: uni04BE + Encoding: 1214 1214 883 + Width: 750 +-Flags: MW ++Flags: HMW + HStem: -186 21G<442.5 481.5> -20 20G<411 486 486 486> -10 21G<334.5 468.5> 640 20G<318.5 504> + LayerCount: 2 + Fore + SplineSet +-684 288 m 1,0,-1 +- 225 288 l 1,1,-1 +- 225 179 l 2,2,3 +- 225 54 225 54 448 54 c 0,4,5 +- 531 54 531 54 659 86 c 1,6,-1 +- 659 16 l 1,7,8 +- 533 -10 533 -10 410 -10 c 0,9,10 +- 286 -10 286 -10 208.5 37 c 128,-1,11 +- 131 84 131 84 131 186 c 2,12,-1 +- 131 441 l 2,13,14 +- 131 560 131 560 199 610 c 128,-1,15 +- 267 660 267 660 416 660 c 0,16,17 +- 555 660 555 660 619.5 612 c 128,-1,18 +- 684 564 684 564 684 441 c 2,19,-1 +- 684 288 l 1,0,-1 +-590 357 m 1,20,-1 +- 590 492 l 2,21,22 +- 590 596 590 596 413 596 c 0,23,24 +- 326 596 326 596 275.5 573.5 c 128,-1,25 +- 225 551 225 551 225 492 c 2,26,-1 +- 225 357 l 1,27,-1 +- 590 357 l 1,20,-1 +-131 357 m 1,28,-1 +- 131 298 l 1,29,30 +- 64 298 64 298 32.5 321 c 128,-1,31 +- 1 344 1 344 1 397 c 0,32,33 +- 1 426 1 426 10 462 c 1,34,-1 +- 78 446 l 1,35,36 +- 72 426.5 72 426.5 72 407 c 0,37,38 +- 72 380 72 380 85.5 368.5 c 128,-1,39 +- 99 357 99 357 131 357 c 1,28,-1 +-474 -186 m 0,40,41 +- 424 -186 424 -186 399.5 -167.5 c 128,-1,42 +- 375 -149 375 -149 375 -106 c 0,43,44 +- 375 -56 375 -56 411 0 c 1,45,-1 +- 486 0 l 1,46,47 +- 454 -50 454 -50 454 -97 c 0,48,49 +- 454 -130 454 -130 493 -130 c 0,50,51 +- 501 -130 501 -130 524 -123 c 1,52,-1 +- 524 -176 l 1,53,54 +- 503 -186 503 -186 474 -186 c 0,40,41 ++474 -186 m 0,0,1 ++ 424 -186 424 -186 399.5 -167.5 c 128,-1,2 ++ 375 -149 375 -149 375 -106 c 0,3,4 ++ 375 -60 375 -60 405 -10 c 1,5,6 ++ 284 -9 284 -9 208 37 c 0,7,8 ++ 131 84 131 84 131 186 c 2,9,-1 ++ 131 298 l 1,10,11 ++ 64 298 64 298 32.5 321 c 128,-1,12 ++ 1 344 1 344 1 397 c 0,13,14 ++ 1 426 1 426 10 462 c 1,15,-1 ++ 78 446 l 1,16,17 ++ 72 426 72 426 72 407 c 0,18,19 ++ 72 380 72 380 85.5 368.5 c 128,-1,20 ++ 99 357 99 357 131 357 c 1,21,-1 ++ 131 441 l 2,22,23 ++ 131 560 131 560 199 610 c 128,-1,24 ++ 267 660 267 660 416 660 c 0,25,26 ++ 555 660 555 660 619.5 612 c 128,-1,27 ++ 684 564 684 564 684 441 c 2,28,-1 ++ 684 288 l 1,29,-1 ++ 225 288 l 1,30,-1 ++ 225 179 l 2,31,32 ++ 225 54 225 54 448 54 c 0,33,34 ++ 531 54 531 54 659 86 c 1,35,-1 ++ 659 16 l 1,36,37 ++ 569 -3 569 -3 481 -8 c 1,38,39 ++ 454 -54 454 -54 454 -97 c 0,40,41 ++ 454 -130 454 -130 493 -130 c 0,42,43 ++ 501 -130 501 -130 524 -123 c 1,44,-1 ++ 524 -176 l 1,45,46 ++ 503 -186 503 -186 474 -186 c 0,0,1 ++590 357 m 1,47,-1 ++ 590 492 l 2,48,49 ++ 590 596 590 596 413 596 c 0,50,51 ++ 326 596 326 596 275.5 573.5 c 128,-1,52 ++ 225 551 225 551 225 492 c 2,53,-1 ++ 225 357 l 1,54,-1 ++ 590 357 l 1,47,-1 + EndSplineSet + EndChar + + StartChar: uni04BF + Encoding: 1215 1215 884 + Width: 604 +-Flags: MW ++Flags: HMW + HStem: -183 21G<366.5 405.5> -17 20G<335 410 410 410> -10 21G<282.5 383> 222 59<107.5 129 107.5 129 220 455> 434 60<303.5 380> + LayerCount: 2 + Fore + SplineSet +-398 -183 m 0,0,1 +- 348 -183 348 -183 323.5 -164.5 c 128,-1,2 +- 299 -146 299 -146 299 -103 c 0,3,4 +- 299 -53 299 -53 335 3 c 1,5,-1 +- 410 3 l 1,6,7 +- 378 -47 378 -47 378 -94 c 0,8,9 +- 378 -127 378 -127 417 -127 c 0,10,11 +- 425 -127 425 -127 448 -120 c 1,12,-1 +- 448 -173 l 1,13,14 +- 427 -183 427 -183 398 -183 c 0,0,1 +-545 222 m 1,15,-1 +- 220 222 l 1,16,-1 +- 220 149 l 2,17,18 +- 220 98 220 98 256.5 76.5 c 128,-1,19 +- 293 55 293 55 367 55 c 0,20,21 +- 432 55 432 55 526 79 c 1,22,-1 +- 526 10 l 1,23,24 +- 432 -10 432 -10 339 -10 c 128,-1,25 +- 246 -10 246 -10 187.5 25.5 c 128,-1,26 +- 129 61 129 61 129 138 c 2,27,-1 +- 129 222 l 1,28,29 +- 62 222 62 222 30.5 245 c 128,-1,30 +- -1 268 -1 268 -1 321 c 0,31,32 +- -1 350 -1 350 8 386 c 1,33,-1 +- 76 370 l 1,34,35 +- 70 350.5 70 350.5 70 331 c 0,36,37 +- 70 304 70 304 83.5 292.5 c 128,-1,38 +- 97 281 97 281 129 281 c 1,39,-1 +- 129 329 l 2,40,41 +- 129 418 129 418 180 456 c 128,-1,42 +- 231 494 231 494 343 494 c 0,43,44 +- 448 494 448 494 496.5 457.5 c 128,-1,45 +- 545 421 545 421 545 329 c 2,46,-1 +- 545 222 l 1,15,-1 +-455 281 m 1,47,-1 +- 455 357 l 2,48,49 +- 455 401 455 401 428.5 417.5 c 128,-1,50 +- 402 434 402 434 341 434 c 0,51,52 +- 279 434 279 434 249.5 418.5 c 128,-1,53 +- 220 403 220 403 220 357 c 2,54,-1 +- 220 281 l 1,55,-1 +- 455 281 l 1,47,-1 ++455 281 m 1,0,-1 ++ 455 357 l 2,1,2 ++ 455 401 455 401 428.5 417.5 c 128,-1,3 ++ 402 434 402 434 341 434 c 0,4,5 ++ 279 434 279 434 249.5 418.5 c 128,-1,6 ++ 220 403 220 403 220 357 c 2,7,-1 ++ 220 281 l 1,8,-1 ++ 455 281 l 1,0,-1 ++545 222 m 1,9,-1 ++ 220 222 l 1,10,-1 ++ 220 149 l 2,11,12 ++ 220 98 220 98 256.5 76.5 c 128,-1,13 ++ 293 55 293 55 367 55 c 0,14,15 ++ 432 55 432 55 526 79 c 1,16,-1 ++ 526 10 l 1,17,18 ++ 465 -3 465 -3 404 -8 c 1,19,20 ++ 378 -52 378 -52 378 -94 c 0,21,22 ++ 378 -127 378 -127 417 -127 c 0,23,24 ++ 425 -127 425 -127 448 -120 c 1,25,-1 ++ 448 -173 l 1,26,27 ++ 427 -183 427 -183 398 -183 c 0,28,29 ++ 348 -183 348 -183 323.5 -164.5 c 128,-1,30 ++ 299 -146 299 -146 299 -103 c 0,31,32 ++ 299 -59 299 -59 327 -10 c 1,33,34 ++ 242 -8 242 -8 188 26 c 0,35,36 ++ 129 61 129 61 129 138 c 2,37,-1 ++ 129 222 l 1,38,39 ++ 62 222 62 222 30.5 245 c 128,-1,40 ++ -1 268 -1 268 -1 321 c 0,41,42 ++ -1 350 -1 350 8 386 c 1,43,-1 ++ 76 370 l 1,44,45 ++ 70 350 70 350 70 331 c 0,46,47 ++ 70 304 70 304 83.5 292.5 c 128,-1,48 ++ 97 281 97 281 129 281 c 1,49,-1 ++ 129 329 l 2,50,51 ++ 129 418 129 418 180 456 c 128,-1,52 ++ 231 494 231 494 343 494 c 0,53,54 ++ 448 494 448 494 496.5 457.5 c 128,-1,55 ++ 545 421 545 421 545 329 c 2,56,-1 ++ 545 222 l 1,9,-1 + EndSplineSet + EndChar + +@@ -32577,7 +32573,7 @@ EndChar + StartChar: uni04C5 + Encoding: 1221 1221 890 + Width: 656 +-Flags: MW ++Flags: HMW + HStem: -199 21G<492 576 492 492> -10 21G<73.5 137> 0 21G<481 559 481 481> 629 20G<129 578 578 578> + LayerCount: 2 + Fore +@@ -32593,7 +32589,7 @@ SplineSet + 226 203 l 2,8,9 + 226 84 226 84 194.5 37 c 128,-1,10 + 163 -10 163 -10 84 -10 c 0,11,12 +- 52.5 -10 52.5 -10 9 2 c 1,13,-1 ++ 52 -10 52 -10 9 2 c 1,13,-1 + 25 68 l 1,14,15 + 48 59 48 59 65 59 c 0,16,17 + 102 59 102 59 115.5 87 c 128,-1,18 +@@ -32607,7 +32603,7 @@ EndChar + StartChar: uni04C6 + Encoding: 1222 1222 891 + Width: 656 +-Flags: MW ++Flags: HMW + HStem: -199 21G<459 543 459 459> 0 21G<9 9 455 526 455 455> 464 20G<136 545 545 545> + LayerCount: 2 + Fore +@@ -32623,7 +32619,7 @@ SplineSet + 226 213 l 2,8,9 + 226 90 226 90 194.5 39 c 128,-1,10 + 163 -12 163 -12 84 -12 c 0,11,12 +- 52.5 -12 52.5 -12 9 0 c 1,13,-1 ++ 52 -12 52 -12 9 0 c 1,13,-1 + 25 66 l 1,14,15 + 48 57 48 57 65 57 c 0,16,17 + 103 57 103 57 119.5 86 c 128,-1,18 +@@ -33624,7 +33620,7 @@ EndChar + StartChar: uni04E0 + Encoding: 1248 1248 917 + Width: 604 +-Flags: MW ++Flags: HMW + HStem: -12 21G<216.5 349.5> 629 20G<60 525 525 525> + LayerCount: 2 + Fore +@@ -33636,7 +33632,7 @@ SplineSet + 515 267 515 267 515 189 c 0,5,6 + 515 96 515 96 450.5 42 c 128,-1,7 + 386 -12 386 -12 278 -12 c 0,8,9 +- 93.5 -12 93.5 -12 38 183 c 1,10,-1 ++ 94 -12 94 -12 38 183 c 1,10,-1 + 120 204 l 1,11,12 + 132 141 132 141 177 97.5 c 128,-1,13 + 222 54 222 54 278 54 c 0,14,15 +-- +1.7.9 + diff -Nru fonts-play-1.002+20111215.1/debian/patches/makefiles.patch fonts-play-1.002+20111215.1+ds2/debian/patches/makefiles.patch --- fonts-play-1.002+20111215.1/debian/patches/makefiles.patch 2011-12-14 12:41:07.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/patches/makefiles.patch 2012-02-28 14:57:10.000000000 +0000 @@ -65,7 +65,7 @@ +.PHONY: all $(SUBDIRS) $(SUBDIRS_BUILD_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_TTF) $(SUBDIRS_OTF) $(SUBDIRS_MENU) $(SUBDIRS_SUBSET) ttf otf build-clean clean --- /dev/null +++ b/play/Makefile -@@ -0,0 +1,51 @@ +@@ -0,0 +1,52 @@ +#!usr/bin/make -f + +SFD_FILES = $(wildcard src/*.sfd) @@ -89,12 +89,12 @@ +subset: $(SUBSET_FILES) + +$(TTF_FILES): -+ python ../tools/generate/generate.py --ttf \ -+ $(patsubst %.ttf, src/%-TTF.sfd, $@) ++ python /usr/share/googlefontdirectory-tools/tools/generate/generate.py \ ++ --ttf $(patsubst %.ttf, src/%-TTF.sfd, $@) + +$(OTF_FILES): -+ python ../tools/generate/generate.py --otf \ -+ $(patsubst %.otf, src/%-TTF.sfd, $@) ++ python /usr/share/googlefontdirectory-tools/tools/generate/generate.py \ ++ --otf $(patsubst %.otf, src/%-TTF.sfd, $@) + +$(MENU_FILES): $(TTF_FILES) + fontforge -lang=ff -script menusubset.ff \ @@ -104,7 +104,8 @@ +$(SUBSET_FILES): $(TTF_FILES) + export subset=$(subst .,,$(suffix $@)); \ + export font=$(basename $@); \ -+ python ../tools/subset/subset.py --null --nmr --roundtrip \ ++ python /usr/share/googlefontdirectory-tools/tools/subset/subset.py \ ++ --null --nmr --roundtrip \ + --namelist --script --subset=$$subset \ + $$font.ttf $$font.$$subset > $$font.$$subset.log + diff -Nru fonts-play-1.002+20111215.1/debian/patches/replace-usr-local-with-usr.patch fonts-play-1.002+20111215.1+ds2/debian/patches/replace-usr-local-with-usr.patch --- fonts-play-1.002+20111215.1/debian/patches/replace-usr-local-with-usr.patch 2011-12-15 16:02:44.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/patches/replace-usr-local-with-usr.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,111 +0,0 @@ -From 349d83531f024c7881f20e4126c54d51c8e160fc Mon Sep 17 00:00:00 2001 -From: Martin Erik Werner -Date: Thu, 15 Dec 2011 17:00:58 +0100 -Subject: [PATCH] replace all /usr/local -> /usr - ---- - play/menusubset.ff | 2 +- - tools/bbox/vmet.pe | 2 +- - tools/menusubset/menusubset-khmer.ff | 2 +- - tools/menusubset/menusubset-korean.ff | 2 +- - tools/menusubset/menusubset-kufi.ff | 2 +- - tools/menusubset/menusubset-naskh.ff | 2 +- - tools/menusubset/menusubset-thai.ff | 2 +- - tools/menusubset/menusubset-vietnamese.ff | 2 +- - tools/ttf2sfd/ttf2sfd.ff | 2 +- - 9 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/play/menusubset.ff b/play/menusubset.ff -index b69ad93..46b0e81 100644 ---- a/play/menusubset.ff -+++ b/play/menusubset.ff -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - # A simple script to generate a menu subset. It outputs all unicode characters - # in "()Play Каилрц Εάεηικλν", and also the ligatures needed for correct - # -diff --git a/tools/bbox/vmet.pe b/tools/bbox/vmet.pe -index 356b6cf..6f98bea 100755 ---- a/tools/bbox/vmet.pe -+++ b/tools/bbox/vmet.pe -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - Open($1); - - bbox = GetFontBoundingBox() -diff --git a/tools/menusubset/menusubset-khmer.ff b/tools/menusubset/menusubset-khmer.ff -index 2b0af0c..3010a39 100755 ---- a/tools/menusubset/menusubset-khmer.ff -+++ b/tools/menusubset/menusubset-khmer.ff -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - # A simple script to generate a menu subset. It outputs all unicode characters - # for Khmer glyphs and ligatures needed for correct rendering. - # -diff --git a/tools/menusubset/menusubset-korean.ff b/tools/menusubset/menusubset-korean.ff -index 744016f..54badc7 100644 ---- a/tools/menusubset/menusubset-korean.ff -+++ b/tools/menusubset/menusubset-korean.ff -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - # A simple script to generate a menu subset. It outputs all unicode characters - # in the word for อักษรไทย "Thai script", and also the ligatures needed for correct - # shaping. After running "fontforge -lang=ff -script menusubset-korean.ff", do "mv -diff --git a/tools/menusubset/menusubset-kufi.ff b/tools/menusubset/menusubset-kufi.ff -index 627da79..06f3c7f 100644 ---- a/tools/menusubset/menusubset-kufi.ff -+++ b/tools/menusubset/menusubset-kufi.ff -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - # A simple script to generate a menu subset. It outputs all unicode characters - # in the word for "Arabic script", and also the ligatures needed for correct - # shaping. After running "fontforge -lang=ff -script menusubset.ff", do "mv -diff --git a/tools/menusubset/menusubset-naskh.ff b/tools/menusubset/menusubset-naskh.ff -index 627da79..06f3c7f 100644 ---- a/tools/menusubset/menusubset-naskh.ff -+++ b/tools/menusubset/menusubset-naskh.ff -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - # A simple script to generate a menu subset. It outputs all unicode characters - # in the word for "Arabic script", and also the ligatures needed for correct - # shaping. After running "fontforge -lang=ff -script menusubset.ff", do "mv -diff --git a/tools/menusubset/menusubset-thai.ff b/tools/menusubset/menusubset-thai.ff -index fceb73f..f3dc1ee 100644 ---- a/tools/menusubset/menusubset-thai.ff -+++ b/tools/menusubset/menusubset-thai.ff -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - # A simple script to generate a menu subset. It outputs all unicode characters - # in the word for อักษรไทย "Thai script", and also the ligatures needed for correct - # shaping. After running "fontforge -lang=ff -script menusubset.ff", do "mv -diff --git a/tools/menusubset/menusubset-vietnamese.ff b/tools/menusubset/menusubset-vietnamese.ff -index a4303e9..4487c0f 100644 ---- a/tools/menusubset/menusubset-vietnamese.ff -+++ b/tools/menusubset/menusubset-vietnamese.ff -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - # A simple script to generate a menu subset. It outputs all unicode characters - # in "()Fontname Quốc Ngữ" - -diff --git a/tools/ttf2sfd/ttf2sfd.ff b/tools/ttf2sfd/ttf2sfd.ff -index 369ef82..25c1b99 100755 ---- a/tools/ttf2sfd/ttf2sfd.ff -+++ b/tools/ttf2sfd/ttf2sfd.ff -@@ -1,4 +1,4 @@ --#!/usr/local/bin/fontforge -+#!/usr/bin/fontforge - Open($1); - Save($1:r+".sfd"); - Quit(0); -\ No newline at end of file --- -1.7.7.3 - diff -Nru fonts-play-1.002+20111215.1/debian/patches/series fonts-play-1.002+20111215.1+ds2/debian/patches/series --- fonts-play-1.002+20111215.1/debian/patches/series 2011-12-15 16:40:59.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/patches/series 2012-02-28 17:37:39.000000000 +0000 @@ -1,2 +1,2 @@ +fontfixes.patch makefiles.patch -replace-usr-local-with-usr.patch diff -Nru fonts-play-1.002+20111215.1/debian/rules fonts-play-1.002+20111215.1+ds2/debian/rules --- fonts-play-1.002+20111215.1/debian/rules 2011-12-15 15:49:38.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/rules 2012-02-28 14:57:10.000000000 +0000 @@ -10,21 +10,22 @@ dh_builddeb -- -Zxz URL="https://googlefontdirectory.googlecode.com/hg/" -# Can't get date of last hg commit easily, use current date as fallback -DATE=$(shell date +%Y%m%d) -# This needs changing in case of an actual version bump VER="1.002" -DIR=fonts-play-$(VER)+$(DATE).1.orig -TAR=fonts-play_$(VER)+$(DATE).1.orig.tar.xz +HGDIR=gfd-hg get-orig-source: - hg clone $(URL) $(DIR) - find $(DIR) -mindepth 1 -not -wholename "$(DIR)/play/*" \ - -not -wholename "$(DIR)/play" \ - -not -wholename "$(DIR)/tools/*" \ - -not -wholename "$(DIR)/tools" \ - -not -name "Makefile" \ - -delete - rm -f $(DIR)/play/Play* - rm -rf $(DIR)/tools/ttfautohint/ - ZX_OPT="-9" tar -cJ --owner root --group root --mode a+rX \ - -f $(TAR) $(DIR) + hg clone "$(URL)" "$(HGDIR)" + # Get last date of commit touching play/ and use throughout + export DATE="$$(hg log $(HGDIR)/play/ --limit 1 \ + --template "{date|isodate}\n" | cut --delimiter=' ' \ + --fields=1 | xargs date +%Y%m%d --date)" ;\ + export DIR="fonts-play-$(VER)+$$DATE.1.orig" ;\ + export TAR="fonts-play_$(VER)+$$DATE.1.orig.tar.xz" ;\ + \ + rm -rf "$$DIR" ;\ + mkdir "$$DIR" ;\ + $(: Leave hg repo as-is) \ + cp -r "$(HGDIR)/play/" "$$DIR" ;\ + rm -f "$$DIR"/play/Play* ;\ + \ + XZ="-6" tar --create --xz --owner root --group root --mode a+rX \ + -f "$$TAR" "$$DIR" ;\ diff -Nru fonts-play-1.002+20111215.1/debian/watch fonts-play-1.002+20111215.1+ds2/debian/watch --- fonts-play-1.002+20111215.1/debian/watch 1970-01-01 00:00:00.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/debian/watch 2012-02-28 14:57:10.000000000 +0000 @@ -0,0 +1,3 @@ +# The Play font is kept in the googlefondirectory mercurial VCS and does not +# currenly do point releases, please use the get-orig-source for grabbing new +# snapshots. diff -Nru fonts-play-1.002+20111215.1/tools/bbox/bbox.py fonts-play-1.002+20111215.1+ds2/tools/bbox/bbox.py --- fonts-play-1.002+20111215.1/tools/bbox/bbox.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/bbox/bbox.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ -#!/usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# bbox.py: A FontForge python script for printing bounding boxes -# to stdout in this format: -# -# glyphname xmin ymin xmax ymax -# -# Usage: -# -# $ python bbox.py Font.ttf 2> /dev/null -# A 42.0 -32.0 782.0 1440.0 -# B 46.0 -72.0 752.0 1478.0 -# C 53.0 -26.0 821.0 1442.0 -# D 77.0 -26.0 773.0 1442.0 - -import fontforge, sys - -def main(argv): - font_in = argv[0] - font = fontforge.open(font_in) - for g in fontforge.activeFont().glyphs(): - bbox = g.boundingBox() - print str(g.glyphname), - print str(bbox[0]), - print str(bbox[1]), - print str(bbox[2]), - print str(bbox[3]) - -if __name__ == '__main__': - main(sys.argv[1:2]) diff -Nru fonts-play-1.002+20111215.1/tools/bbox/vbox.py fonts-play-1.002+20111215.1+ds2/tools/bbox/vbox.py --- fonts-play-1.002+20111215.1/tools/bbox/vbox.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/bbox/vbox.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -#!/usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# vbox.py: A FontForge python script for printing bounding box -# table to stdout -# -# glyphname ymin ymax -# -# Usage: -# -# $ python vbox.py Font.ttf 2> /dev/null -# A -32.0 1440.0 -# B -72.0 1478.0 -# C -26.0 1442.0 -# D -26.0 1442.0 - -import fontforge, sys - -def main(argv): - font_in = argv[0] - font = fontforge.open(font_in) - ymin = 0 - ymax = 0 - for g in fontforge.activeFont().glyphs(): - bbox = g.boundingBox() - print str(g.glyphname), - print str(bbox[1]), - print str(bbox[3]) -# if bbox[1] < ymin: ymin = bbox[1] -# if bbox[3] > ymax: ymax = bbox[3] -# print ",,, ymin, ", ymin -# print ",,, ymax, ", ymax - -if __name__ == '__main__': - main(sys.argv[1:2]) diff -Nru fonts-play-1.002+20111215.1/tools/bbox/vmetcheck.py fonts-play-1.002+20111215.1+ds2/tools/bbox/vmetcheck.py --- fonts-play-1.002+20111215.1/tools/bbox/vmetcheck.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/bbox/vmetcheck.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,81 +0,0 @@ -#!/usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Raph Levien (@gmail.com) -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# vmetcheck.py: A FontForge python script to tell you which vertical -# metrics of a font to fix -# -# Usage: -# -# $ vmetcheck.py Font.ttf 2> /dev/null -# Change WinAscent to 1842 -# Change TypoAscent to 1842 -# Change HHeadAscent to 1842 -# Change WinDescent to -755 -# Change TypoDescent to -755 -# Change HHeadDescent to -755 -# Change TypoLineGap to 0 -# Change HHeadLineGap to 0 - -import fontforge, sys, struct - -class Sfnt: - def __init__(self, data): - version, numTables, _, _, _ = struct.unpack('>IHHHH', data[:12]) - self.tables = {} - for i in range(numTables): - tag, checkSum, offset, length = struct.unpack('>4sIII', data[12 + 16 * i: 28 + 16 * i]) - self.tables[tag] = data[offset: offset + length] - - def hhea(self): - r = {} - d = self.tables['hhea'] - r['Ascender'], r['Descender'], r['LineGap'] = struct.unpack('>hhh', d[4:10]) - return r - - def os2(self): - r = {} - d = self.tables['OS/2'] - r['fsSelection'], = struct.unpack('>H', d[62:64]) - r['sTypoAscender'], r['sTypoDescender'], r['sTypoLineGap'] = struct.unpack('>hhh', d[68:74]) - r['usWinAscender'], r['usWinDescender'] = struct.unpack('>HH', d[74:78]) - return r - -def main(argv): - font_in = argv[0] - font = fontforge.open(font_in) - ymin = 0 - ymax = 0 - for g in fontforge.activeFont().glyphs(): - bbox = g.boundingBox() - if bbox[3] > ymax: ymax = int(bbox[3]) - if bbox[1] < ymin: ymin = int(bbox[1]) - data = file(font_in, 'rb').read() - sfnt = Sfnt(data) - hhea = sfnt.hhea() - os2 = sfnt.os2() - if ymax != os2['usWinAscender']: print "Change WinAscent to", ymax - if ymax != os2['sTypoAscender']: print "Change TypoAscent to", ymax - if ymax != hhea['Ascender']: print "Change HHeadAscent to", ymax - if ymin != os2['usWinDescender']: print "Change WinDescent to", ymin - if ymin != os2['sTypoDescender']: print "Change TypoDescent to", ymin - if ymin != hhea['Descender']: print "Change HHeadDescent to", ymin - if 0 != os2['sTypoLineGap']: print "Change TypoLineGap to 0" - if 0 != hhea['LineGap']: print "Change HHeadLineGap to 0" - -if __name__ == '__main__': - main(sys.argv[1:2]) \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/bbox/vmetcorrect.py fonts-play-1.002+20111215.1+ds2/tools/bbox/vmetcorrect.py --- fonts-play-1.002+20111215.1/tools/bbox/vmetcorrect.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/bbox/vmetcorrect.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,165 +0,0 @@ -#!/usr/bin/python - - -#################################################################### -########## ########## -########## WARNING ########## -########## ########## -########## This script appears to surface FF bugs! ########## -########## You want to double check your results! ########## -########## ########## -#################################################################### - - - -# Copyright 2010, Google Inc. -# Author: Raph Levien (@gmail.com) -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# vmetcorrect.py: A FontForge python script to correct a font's vertical -# metrics for the web -# -# Usage: -# -# $ vmetcorrect.py Font.ttf 2> /dev/null -# Changing WinAscent to 1842, done -# Changing TypoAscent to 1842, done -# Changing HHeadAscent to 1842, done -# Changing WinDescent to -755, done -# Changing TypoDescent to -755, done -# Changing HHeadDescent to -755, done -# Changing TypoLineGap to 0, done -# Changing HHeadLineGap to 0, done - -import fontforge -import sys -import getopt -import os -import struct - -# A class by Raph Levien to decode the HHEA and OS2 tables of an SFNT file -class Sfnt: - def __init__(self, data): - version, numTables, _, _, _ = struct.unpack('>IHHHH', data[:12]) - self.tables = {} - for i in range(numTables): - tag, checkSum, offset, length = struct.unpack('>4sIII', data[12 + 16 * i: 28 + 16 * i]) - self.tables[tag] = data[offset: offset + length] - - def hhea(self): - r = {} - d = self.tables['hhea'] - r['Ascender'], r['Descender'], r['LineGap'] = struct.unpack('>hhh', d[4:10]) - return r - - def os2(self): - r = {} - d = self.tables['OS/2'] - r['fsSelection'], = struct.unpack('>H', d[62:64]) - r['sTypoAscender'], r['sTypoDescender'], r['sTypoLineGap'] = struct.unpack('>hhh', d[68:74]) - r['usWinAscender'], r['usWinDescender'] = struct.unpack('>HH', d[74:78]) - return r - -# A couple of functions to set vertical metrics using native scripting -def set_os2(pe, name, val): - print >> pe, 'SetOS2Value("' + name + '", %d)' % val - -def set_os2_vert(pe, name, val): - set_os2(pe, name + 'IsOffset', 0) - set_os2(pe, name, val) - -def main(argv): - # open up a temp file to push FF native scripting into - pe_fn = "/tmp/script.pe" - pe = file(pe_fn, 'w') - # open up the font specified on the command line - font_in = argv[0] - font = fontforge.open(font_in) - # open the font file in the native script too - print >> pe, 'Open("' + font_in + '")' - # initialise these values - ymin = 0 - ymax = 0 - # for each glyph in the font, find the bounding box - for g in fontforge.activeFont().glyphs(): - bbox = g.boundingBox() - # store the max and min vertical values - if bbox[3] > ymax: - ymax = int(bbox[3]) - if bbox[1] < ymin: - ymin = int(bbox[1]) - # read the vertical metrics directly from the font file - data = file(font_in, 'rb').read() - sfnt = Sfnt(data) - hhea = sfnt.hhea() - os2 = sfnt.os2() - # check the metrics are correct, and if not, push a native - # script command to correct it - if ymax != os2['usWinAscender']: - print "WinAscent should be", ymax, "but is", os2['usWinAscender'] - set_os2_vert(pe, "WinAscent", ymax) - if ymax != os2['sTypoAscender']: - print "TypoAscent should be", ymax, "but is", os2['sTypoAscender'] - set_os2_vert(pe, "TypoAscent", ymax) - if ymax != hhea['Ascender']: - print "HHeadAscent should be", ymax, "but is", hhea['Ascender'] - set_os2_vert(pe, "HHeadAscent", ymax) - if ymin != os2['usWinDescender']: - print "WinDescent should be", ymin, "but is", os2['usWinDescender'] - set_os2_vert(pe, "WinDescent", ymin) - if ymin != os2['sTypoDescender']: - print "TypoDescent should be", ymin, "but is", os2['sTypoDescender'] - set_os2_vert(pe, "TypoDescent", ymin) - if ymin != hhea['Descender']: - print "HHeadDescent should be", ymin, "but is", hhea['Descender'] - set_os2_vert(pe, "HHeadDescent", ymin) - if 0 != os2['sTypoLineGap']: - print "TypoLineGap should be 0 but is", os2['sTypoLineGap'] - set_os2_vert(pe, "TypoLineGap", 0) - if 0 != hhea['LineGap']: - print "HHeadLineGap should be 0 but is", hhea['LineGap'] - set_os2_vert(pe, "HHeadLineGap", 0) - # push native script command to regenerate the font file - print >> pe, 'Generate("' + font_in + '")' - # close the script file - pe.close() - # run the script file - print "Running a script to change these values...", - os.system("fontforge -script " + pe_fn) - print "Done!" - # check the values are really set - new_data = file(font_in, 'rb').read() - new_sfnt = Sfnt(new_data) - new_hhea = new_sfnt.hhea() - new_os2 = new_sfnt.os2() - if ymax != new_os2['usWinAscender']: - print "But WinAscent is still", new_os2['usWinAscender'], " -- change it to", ymax, "by hand" - if ymax != new_os2['sTypoAscender']: - print "But TypoAscent is still", new_os2['sTypoAscender'], " -- change it to", ymax, "by hand" - if ymax != new_hhea['Ascender']: - print "But HHeadAscent is still", new_hhea['Ascender'], " -- change it to", ymax, "by hand" - if ymin != new_os2['usWinDescender']: - print "But WinDescent is still", new_os2['usWinDescender'], " -- change it to", ymin, "by hand" - if ymin != new_os2['sTypoDescender']: - print "But TypoDescent is still", new_os2['sTypoDescender'], " -- change it to", ymin, "by hand" - if ymin != new_hhea['Descender']: - print "But HHeadDescent is still", new_hhea['Descender'], " -- change it to", ymin, "by hand" - if 0 != new_os2['sTypoLineGap']: - print "But TypoLineGap is ", new_os2['sTypoLineGap'], "change it to 0 by hand" - if 0 != new_hhea['LineGap']: - print "But HHeadLineGap is ", new_hhea['LineGap'], "change it to 0 by hand" - -if __name__ == '__main__': - main(sys.argv[1:2]) \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/bbox/vmet.pe fonts-play-1.002+20111215.1+ds2/tools/bbox/vmet.pe --- fonts-play-1.002+20111215.1/tools/bbox/vmet.pe 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/bbox/vmet.pe 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/usr/local/bin/fontforge -Open($1); - -bbox = GetFontBoundingBox() - -# Print("Current Values\n") - -Print("MaxY ", bbox[3]) -Print("WinAscent ", GetOS2Value("WinAscent")) -Print("WinAscentIsOffset ", GetOS2Value("WinAscentIsOffset")) -Print("TypoAscent ", GetOS2Value("TypoAscent")) -Print("TypoAscentIsOffset ", GetOS2Value("TypoAscentIsOffset")) -Print("HHeadAscent ", GetOS2Value("HHeadAscent")) -Print("HHeadAscentIsOffset ", GetOS2Value("HHeadAscentIsOffset")) - -Print("MinY ", bbox[1]) -Print("WinDescent +ve", GetOS2Value("WinDescent")) -Print("WinDescentIsOffset ", GetOS2Value("WinDescentIsOffset")) -Print("TypoDescent ", GetOS2Value("TypoDescent")) -Print("TypoDescentIsOffset ", GetOS2Value("TypoDescentIsOffset")) -Print("HHeadDescent ", GetOS2Value("HHeadDescent")) -Print("HHeadDescentIsOffset ", GetOS2Value("HHeadDescentIsOffset")) - -Print("TypoLineGap ", GetOS2Value("TypoLineGap")) -Print("HHeadLineGap ", GetOS2Value("HHeadLineGap")) \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/bbox/vmet.py fonts-play-1.002+20111215.1+ds2/tools/bbox/vmet.py --- fonts-play-1.002+20111215.1/tools/bbox/vmet.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/bbox/vmet.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -#!/usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Raph Levien (@gmail.com) -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# vmet.py: A FontForge python script for printing bounding box -# maximums and the vertical metrics of a font -# -# Usage: -# -# $ vmet.py Font.ttf 2> /dev/null -# MaxGlyph 1842.0 -# WinAscent 1842 -# TypoAscent 1440 -# HHeadAscent 1440 -# MinGlyph -755.0 -# WinDescent 755 -# TypoDescent -608 -# HHeadDescent -608 -# TypoLineGap 0 -# HHeadLineGap 0 - -import fontforge, sys, struct - -class Sfnt: - def __init__(self, data): - version, numTables, _, _, _ = struct.unpack('>IHHHH', data[:12]) - self.tables = {} - for i in range(numTables): - tag, checkSum, offset, length = struct.unpack('>4sIII', data[12 + 16 * i: 28 + 16 * i]) - self.tables[tag] = data[offset: offset + length] - - def hhea(self): - r = {} - d = self.tables['hhea'] - r['Ascender'], r['Descender'], r['LineGap'] = struct.unpack('>hhh', d[4:10]) - return r - - def os2(self): - r = {} - d = self.tables['OS/2'] - r['fsSelection'], = struct.unpack('>H', d[62:64]) - r['sTypoAscender'], r['sTypoDescender'], r['sTypoLineGap'] = struct.unpack('>hhh', d[68:74]) - r['usWinAscender'], r['usWinDescender'] = struct.unpack('>HH', d[74:78]) - return r - -def set_os2(name, val): - print name, val - - -def main(argv): - font_in = argv[0] - font = fontforge.open(font_in) - ymin = 0 - ymax = 0 - for g in fontforge.activeFont().glyphs(): - bbox = g.boundingBox() - if bbox[3] > ymax: ymax = bbox[3] - if bbox[1] < ymin: ymin = bbox[1] - data = file(font_in, 'rb').read() - sfnt = Sfnt(data) - hhea = sfnt.hhea() - os2 = sfnt.os2() - print "MaxGlyph ", ymax - print "WinAscent ", os2['usWinAscender'] - print "TypoAscent ", os2['sTypoAscender'] - print "HHeadAscent ", hhea['Ascender'] - print "MinGlyph ", ymin - print "WinDescent ", os2['usWinDescender'] - print "TypoDescent ", os2['sTypoDescender'] - print "HHeadDescent", hhea['Descender'] - print "TypoLineGap ", os2['sTypoLineGap'] - print "HHeadLineGap ", hhea['LineGap'] - -if __name__ == '__main__': - main(sys.argv[1:2]) \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/bbox/vmet.sh fonts-play-1.002+20111215.1+ds2/tools/bbox/vmet.sh --- fonts-play-1.002+20111215.1/tools/bbox/vmet.sh 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/bbox/vmet.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -#!/usr/bin/bash -# -# showttf Font.ttf | grep -E '(scen|gap|(HHEAD|OS/2) table)' -# -echo $1; -echo "Ascent metrics should be the "; -echo -n "bbox "; showttf $1 | grep ymax= | tr -d "\t " | tr "=" "\t" ; -echo "" -showttf $1 | grep usWinAscent= | tr -d "\t " | tr "=" "\t" ; -# captured in following grep -# showttf $1 | grep stypeascender= | tr -d "\t " | tr "=" "\t" ; -showttf $1 | grep ascender= | tr -d "\t " | tr "=" "\t" ; -echo "" - -echo "Descent metrics should be the "; -echo -n "bbox "; showttf $1 | grep ymin= | tr -d "\t " | tr "=" "\t" ; -echo "" -echo "(WinDescent should be positive)" -showttf $1 | grep usWinDescent= | tr -d "\t " | tr "=" "\t" ; -# captured in following grep -# showttf $1 | grep stypedescender= | tr -d "\t " | tr "=" "\t" ; -showttf $1 | grep descender= | tr -d "\t " | tr "=" "\t" ; -echo "" - -echo "(LineGaps should be 0)" -# captured in following grep -# showttf $1 | grep stypelinegap= | tr -d "\t " | tr "=" "\t" ; -showttf $1 | grep "linegap=" | tr -d "\t " | tr "=" "\t" ; -echo "" -echo "" diff -Nru fonts-play-1.002+20111215.1/tools/chars/showchars.py fonts-play-1.002+20111215.1+ds2/tools/chars/showchars.py --- fonts-play-1.002+20111215.1/tools/chars/showchars.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/chars/showchars.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -#!/usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# chars.py: A FontForge python script for printing unicode points and -# glyph names in a font -# -# unicodepoint glyphname -# -# Usage: -# -# $ python chars.py Font.ttf 2> /dev/null -# 0x0061 a -# 0x0062 b -# 0x0063 c - -import fontforge, sys - -def main(argv): - font_in = argv[0] - font = fontforge.open(font_in) - for g in fontforge.activeFont().glyphs(): - print "0x%0.4X" % fontforge.unicodeFromName(g.glyphname), g.glyphname - -if __name__ == '__main__': - main(sys.argv[1:2]) diff -Nru fonts-play-1.002+20111215.1/tools/encodings/latin.enc fonts-play-1.002+20111215.1+ds2/tools/encodings/latin.enc --- fonts-play-1.002+20111215.1/tools/encodings/latin.enc 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/encodings/latin.enc 1970-01-01 00:00:00.000000000 +0000 @@ -1,280 +0,0 @@ - -%%FONTLAB ENCODING: 19007; [Basic] v006 Google Web Fonts Latin Basic -%Date - June 29 2011 version 006 -%Copyright (c) 2011 Sorkin Type Co (www.sorkintype.com) -%Copyright (c) 2011 Cyreal (www.cyreal.org) -%Copyright (c) 2011 Google Inc (www.google.com/webfonts) -%Licence: http://creativecommons.org/publicdomain/zero/1.0/ -%Made by Eben Sorkin of Sorkin Type Co. for Google Web Fonts projects -%Based on work by Cyreal Type Foundry and Raph Levien at Google Inc -% -% TODO: some glyphs are in lc only!? -% -% Begin glyphs to be designed -.notdef -.null -CR -space -nbspace -a -b -c -d -e -f -g -h -i -j -k -l -m -n -o -p -q -r -s -t -u -v -w -x -y -z -A -B -C -D -E -F -G -H -I -J -K -L -M -N -O -P -Q -R -S -T -U -V -W -X -Y -Z -ampersand -zero -one -two -three -four -five -six -seven -eight -nine -period -periodcentered -bullet -comma -colon -semicolon -exclam -exclamdown -question -questiondown -quoteleft -quoteright -quotedblleft -quotedblright -quotesingle -quotesinglbase -quotedbl -quotedblbase -guilsinglleft -guilsinglright -guillemotleft -guillemotright -onesuperior -twosuperior -threesuperior -onequarter -onehalf -threequarters -ordfeminine -ordmasculine -degree -less -greater -plus -plusminus -hyphen -equal -multiply -divide -logicalnot -mu -percent -numbersign -asterisk -endash -emdash -slash -backslash -bar -brokenbar -paragraph -braceleft -braceright -parenleft -parenright -bracketleft -bracketright -currency -dollar -cent -sterling -Euro -yen -at -copyright -registered -asciicircum -underscore -section -acute -grave -tilde -asciitilde -dieresis -cedilla -circumflex -macron -ae -agrave -aacute -acircumflex -adieresis -atilde -aring -ccedilla -egrave -eacute -ecircumflex -edieresis -hbar -dotlessi -itilde -ij -igrave -iacute -icircumflex -idieresis -jcircumflex -kcommaaccent -kgreenlandic -ldot -lslash -nacute -ntilde -oe -ograve -oacute -ocircumflex -otilde -odieresis -oslash -rcaron -rcommaaccent -germandbls -ugrave -uacute -ucircumflex -udieresis -yacute -ydieresis -eth -thorn -AE -Agrave -Aacute -Acircumflex -Atilde -Adieresis -Aring -Ccedilla -Egrave -Eacute -Ecircumflex -Edieresis -Igrave -Iacute -Itilde -Icircumflex -Idieresis -IJ -Jcircumflex -Lslash -Ldotaccent -Nacute -Ntilde -OE -Ograve -Oacute -Ocircumflex -Otilde -Odieresis -Oslash -Racute -Rcaron -Rcommaaccent -Ugrave -Uacute -Ucircumflex -Udieresis -Yacute -Eth -Thorn -% End glyphs to be designed -foundryicon -% These are unicode ranges for control characters They do not need to be designed. -uni0001 -uni0002 -uni0003 -uni0004 -uni0005 -uni0006 -uni0007 -uni0008 -uni0009 -uni0010 -uni0011 -uni0012 -uni0013 -uni0014 -uni0015 -uni0016 -uni0017 -uni0018 -uni0019 -uni00AD -% glyphs that may be helpful for production, or considtency but which are not required. -ring -caron -dotaccentcmb -commaaccent -grave.cap -acute.cap -circumflex.cap -dieresis.cap -caron.cap -ring.cap -tilde.cap -dotaccentcmb.cap -dotlessj diff -Nru fonts-play-1.002+20111215.1/tools/encodings/namelist.py fonts-play-1.002+20111215.1+ds2/tools/encodings/namelist.py --- fonts-play-1.002+20111215.1/tools/encodings/namelist.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/encodings/namelist.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -#!/usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Raph Levien (@gmail.com) -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# namelist.py: A FontForge python script for generating namelist files. -# -# Usage: -# -# $ python namelist.py Font.ttf NameList.nam - -import fontforge - -def main(argv): - font_in, namelist_out = argv - font = fontforge.open(font_in) - font.saveNamelist(namelist_out) - -if __name__ == '__main__': - main(sys.argv[1:2]) diff -Nru fonts-play-1.002+20111215.1/tools/fontlab-generate-settings/OTF.reg fonts-play-1.002+20111215.1+ds2/tools/fontlab-generate-settings/OTF.reg --- fonts-play-1.002+20111215.1/tools/fontlab-generate-settings/OTF.reg 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/fontlab-generate-settings/OTF.reg 1970-01-01 00:00:00.000000000 +0000 @@ -1,328 +0,0 @@ -Windows Registry Editor Version 5.00 - -[HKEY_CURRENT_USER\Software\FontLab\FontStudio 5\Options] -"UnicodeKeyboard"=dword:00000000 -"ChartAutoActivateCodepage"=dword:00000001 -"UnicodeRangePercent"=dword:00000000 -"AutoAlignVector"=dword:00000000 -"ContourSnapAllPoints"=dword:00000000 -"ShowMeterPanel"=dword:00000001 -"FontLabNodes"=dword:00000000 -"EditDeleteAlt"=dword:00000000 -"ControlSwitch"=dword:00000000 -"RemoveZeroKerning"=dword:00000000 -"EditAutoSelectLayers"=dword:00000001 -"SyncronizeMasters"=dword:00000000 -"EditComponentsByOutline"=dword:00000000 -"EditLayersExpanded"=dword:00000001 -"EditKeyboardEditBCP"=dword:00000001 -"EditShowMasterPoints"=dword:00000000 -"EditConnectMasters"=dword:00000000 -"EditShowMeasurementLine"=dword:00000001 -"EditUndoSelection"=dword:00000001 -"EditShowNodesSelection"=dword:00000001 -"MaskMetrics"=dword:00000000 -"EditEditSelection"=dword:00000000 -"EditDoubleClickBitmap"=dword:00000001 -"EditDoubleClickMask"=dword:00000001 -"EditBCPsFixed"=dword:00000000 -"EditPreviewKey"=dword:000000C0 -"OTPreviewSize"=dword:FFFFFFFF -"OTSampleSize"=dword:FFFFFFFF -"EditNotFillOpen"=dword:00000001 -"OptimizeAlign"=dword:00000002 -"OptimizeReduce"=dword:00000002 -"UnicodeStrings"=dword:00000001 -"DuplicateX"=dword:00000064 -"DuplicateY"=dword:00000064 -"PasteX"=dword:00000000 -"PasteY"=dword:00000000 -"Shift10"=dword:0000000A -"MetricsBottomBar0"=dword:00000001 -"MetricsShowTable0"=dword:00000000 -"MetricsShowBar0"=dword:00000001 -"MetricsBarExpanded0"=dword:00000000 -"MetricsBottomBar1"=dword:00000001 -"MetricsShowTable1"=dword:00000000 -"MetricsShowBar1"=dword:00000001 -"MetricsBarExpanded1"=dword:00000000 -"MetricsBottomBar2"=dword:00000001 -"MetricsShowTable2"=dword:00000000 -"MetricsShowBar2"=dword:00000001 -"MetricsBarExpanded2"=dword:00000000 -"MetricsBottomBar3"=dword:00000001 -"MetricsShowTable3"=dword:00000000 -"MetricsShowBar3"=dword:00000001 -"MetricsBarExpanded3"=dword:00000000 -"FontExpanded"=dword:00000001 -"AutoRemoveHints"=dword:00000001 -"OTAddClasses"=dword:00000001 -"OTAddMetricsClasses"=dword:00000000 -"OTWriteGDEF"=dword:00000001 -"OTWriteMort"=dword:00000000 -"OTReadMort"=dword:00000008 -"OTGenerate"=dword:00000000 -"OTCompileFeatures"=dword:00000001 -"OTOldContextRule"=dword:00000000 -"TTIReadKernFeature"=dword:00000001 -"TTIGenerateNames"=dword:00000001 -"TTEWriteKernFeature"=dword:00000001 -"TTEWriteKernTable"=dword:00000000 -"TTESmartMacNames"=dword:00000001 -"TTESmartFontName"=dword:00000001 -"TTEVersionOS2"=dword:00000003 -"TTEExportOT"=dword:00000001 -"TTEExportVOLT"=dword:00000000 -"TTIReadOT"=dword:00000001 -"TTIReadBinaryOT"=dword:00000001 -"TTIStoreBinaryOT"=dword:00000001 -"TTToolReverseShift"=dword:00000000 -"TTEWriteBitmaps"=dword:00000000 -"TTIReadBitmaps"=dword:00000001 -"CopyHDMXData"=dword:00000000 -"TracerCurves"=dword:00000001 -"TracerExtremePoints"=dword:00000001 -"TracerTolerance"=dword:00000001 -"TracerStraightenAngle"=dword:00000001 -"TracerPresetMode"=dword:00000002 -"TracerCurveFit"=dword:000003E8 -"TTIFontNames"=dword:00000000 -"TTEFontNames"=dword:00000000 -"BitmapSize"=dword:000000C8 -"ColorBackground"=dword:FFFFFFFF -"ColorBackgroundMask"=dword:FFFFF0FF -"ColorBackgroundMetrics"=dword:FFFFFFF0 -"ColorForegroundMetrics"=dword:FF000000 -"ColorMaskPen"=dword:00408080 -"ColorClosepath"=dword:FFC0C0C0 -"ColorSeacPen"=dword:FF808080 -"ColorHintsPen"=dword:FF008000 -"ColorTemplate"=dword:FFFFC0C0 -"ColorOutline"=dword:FF000000 -"ColorBitmap"=dword:FFB8B8C8 -"ColorVMetrics"=dword:FF808080 -"ColorMetrics"=dword:FF8C8C8C -"ColorEcho"=dword:FF8C8C8C -"ColorGrid"=dword:FFC8C8C8 -"ColorGuide"=dword:FF0000FF -"ColorGlobalGuide"=dword:FFFF0000 -"ColorGroups"=dword:FFE0E0E0 -"ColorNeighbors"=dword:FF404040 -"StyleInactiveMetrics"=dword:00000002 -"StyleMetrics"=dword:00000001 -"SamplePPM1"=dword:07FFFFC0 -"SamplePPM2"=dword:00000000 -"HideAllLayers"=dword:00000000 -"CustomMarkColor"=dword:00000001 -"QuickZoomScale"=dword:00001D4C -"TrackingMode"=dword:00000000 -"TrackingDistance"=dword:00000032 -"FitAscender"=dword:000003E8 -"FitDescender"=dword:FFFFFE70 -"EraseSize"=dword:00000005 -"ClosepathArrowLen"=dword:00000008 -"DefaultGlyph"=dword:00000041 -"GlyphNameSortMode"=dword:00000001 -"EditBitmapStyle"=dword:00000001 -"EditZoomMode"=dword:00000001 -"EditHitDistance"=dword:00000003 -"EditChangeCursor"=dword:00000001 -"EditHandleTool"=dword:00000001 -"EditBCVOpacity"=dword:00000032 -"EditFollowScroll"=dword:00000001 -"EditLeaveEcho"=dword:00000001 -"EditInstantRefresh"=dword:00000000 -"EditShowSelection"=dword:00000001 -"EditShowAnchorNames"=dword:00000001 -"EditSmoothOutline"=dword:00000001 -"EditAllSmooth"=dword:00000001 -"EditSmallNodes"=dword:00000001 -"EditShowCross"=dword:00000001 -"EditScaleEPS"=dword:00000000 -"MMExtrapolation"=dword:00000001 -"EditShowPosition"=dword:00000001 -"HideToolbars"=dword:00000000 -"AutoMetricsLeft"=dword:0000001E -"AutoMetricsRight"=dword:0000001E -"AutoMetricsClose"=dword:0000000A -"AutohintingMinHLen"=dword:0000003C -"AutohintingMinVLen"=dword:0000003C -"AutohintingMinHWidth"=dword:00000014 -"AutohintingMinVWidth"=dword:00000014 -"AutohintingMaxHWidth"=dword:000000FA -"AutohintingMaxVWidth"=dword:000000FA -"AutohintingRemoveHints"=dword:00000001 -"CreateUnexistingCharacters"=dword:00000000 -"AutohintingHRatio"="2.00" -"AutohintingVRatio"="2.00" -"PaintTextFont"="Arial" -"PreviewPointSize"="5-36, 38, 40, 42, 48" -"PreviewPPMs"="5-36, 38, 40, 42, 48" -"PreviewPPMsExpanded"="8-24" -"PreviewExpandedHeight"=dword:0000015E -"PreviewWidth"=dword:00000000 -"PreviewSmooth"=dword:00000001 -"PreviewExpanded"=dword:00000000 -"PreviewBlueColor"=dword:FF404080 -"PreviewHighlightKeyGlyphs"=dword:00000000 -"PreviewLockDependences"=dword:00000001 -"PreviewKeepExceptions"=dword:00000001 -"PreviewShowReferences"=dword:00000001 -"PreviewApplyTemplate"=dword:00000001 -"PreviewAutoWrap"=dword:00000001 -"PreviewKerningIcons"=dword:00000001 -"PreviewFocusString"=dword:00000001 -"PreviewPanelTop"=dword:00000001 -"PreviewMode"=dword:00000003 -"PreviewSize"=dword:0000003A -"PreviewSecondLine"="" -"VendorCode"="pyrs" -"ExpandKernFlags"=dword:00000016 -"ExpandKernCount"=dword:00000800 -"ExpandKernCodepage"="" -"CacheTTPath"="" -"CacheTTUse"=dword:00000000 -"Template_Use"=dword:00000000 -"Template_Path"="" -"Template_BDF"="" -"DSIG_Use"=dword:00000000 -"DSIG_TimeStamp"=dword:00000000 -"DSIG_SertPath"="" -"DSIG_KeyPath"="" -"DSIG_Password"="" -"PreviewAlternativeArrows"=dword:00000000 -"PreviewAutoScroll"=dword:00000001 -"FileOpenSample"="ABRaeg123" -"PreviewListWidth"=dword:000000C8 -"PreviewFilterKerning"=dword:00000000 -"PreviewFilterMetrics"=dword:00000000 -"PreviewPaintStyle"=dword:00000100 -"PreviewLockStyle"=dword:00000000 -"PreviewSnapStyle"=dword:00000010 -"OverlapMode"=dword:00000002 -"PaintStyleEx"=dword:30A4B811 -"SnapStyleEx"=dword:0000010F -"LockStyleEx"=dword:00000600 -"EditGridX"=dword:00000064 -"EditGridY"=dword:00000064 -"EditRulers"=dword:00000001 -"EditSmoothIsSmooth"=dword:00000001 -"PaintColor"=dword:00000003 -"PaintTool"=dword:00000003 -"PaintBrushWidth"=dword:00000028 -"PaintBrushRoundness"=dword:000003E8 -"PaintBrushBody"=dword:00000000 -"PaintBrushVectorX"=dword:00000340 -"PaintBrushVectorY"=dword:00000340 -"PaintMode"=dword:00000002 -"PaintBrushJoin"=dword:00000001 -"PaintBrushCap"=dword:00000003 -"PaintTracePolygon"=dword:00000000 -"PaintTextSize"=dword:0000012C -"PaintAutoTransform"=dword:00000000 -"PaintAutoView"=dword:00000000 -"PaintReverseBrushAutoColor"=dword:00000000 -"PaintJapanese"=dword:00000000 -"FontAudit"=dword:FFFFFFFF -"TTIAutohint"=dword:00000001 -"TTIDecompose"=dword:00000000 -"TTIKeepHints"=dword:00000001 -"TTIConvert"=dword:00000000 -"TTIScale1000"=dword:00000000 -"TTIStoreTables"=dword:00000000 -"TTEStoreTables"=dword:00000000 -"TTECmap10"=dword:00000000 -"EmbeddingType"=dword:00000000 -"TTHHintingOptions"=dword:00000007 -"TTHPPM"=dword:0000000C -"ATMPPM"=dword:0000000C -"TTEExportUnicode"=dword:00000001 -"TTEHint"=dword:00000000 -"TTEAutohint"=dword:00000000 -"TTEKeep"=dword:00000001 -"TTEVisual"=dword:00000001 -"TTEheadBBoxSavings"=dword:00000040 -"TTEApplyBBoxSavings"=dword:00000001 -"TTEAutoWinAscDesc"=dword:00000000 -"TTEAddCharacters"=dword:00000001 -"TTENoReorder"=dword:00000001 -"TTESubrize"=dword:00000001 -"TTEDecompose"=dword:00000001 -"T1Terminal"=dword:00000000 -"AutoSave"=dword:00000000 -"AutoSaveTick"=dword:0000000A -"ChartShowNotes"=dword:00000001 -"ChartSorting"=dword:00000000 -"ChartDragDrop"=dword:00000001 -"GroupKerning"=dword:00000001 -"GroupFill"=dword:00000000 -"GroupShapeFill"=dword:00000000 -"GroupMask"=dword:00000000 -"GroupShapeMask"=dword:00000000 -"GroupShapeOpacity"=dword:00000019 -"GroupUseMetrics"=dword:00000000 -"GroupCenter"=dword:00000000 -"GroupDoubleClick"=dword:00000001 -"GroupShiftX"=dword:00000000 -"GroupShiftY"=dword:00000000 -"T1Sort"=dword:00000001 -"T1UseOTFamilyName"=dword:00000000 -"T1UseOTStyleName"=dword:00000000 -"T1Encoding"=dword:00000002 -"T1Decompose"=dword:00000000 -"T1MatchEncoding"=dword:00000000 -"T1PFM"=dword:00000001 -"T1AFM"=dword:00000001 -"T1FSType"=dword:00000000 -"T1Autohint"=dword:00000002 -"T1Unicode"=dword:00000001 -"T1UseOS2"=dword:00000000 -"T1UseTrademarkName"=dword:00000000 -"T1ExportEncoding"=dword:00000000 -"CodepagesCount"=dword:00000098 -"OpenOutput"=dword:00000001 -"Backup"=dword:00000001 -"ChartUseTemplate"=dword:00000001 -"ChartCopyKerning"=dword:00000000 -"GlyphsBarOpen"=dword:00000000 -"GlyphsBarTop"=dword:00000001 -"ChartDoubleClick"=dword:00000001 -"ChartAutoHide"=dword:00000000 -"ChartPreviewMarks"=dword:00000001 -"ChartSampleSize"=dword:00000002 -"ChartStyle"=dword:000009F3 -"ChartCaptionFontSize"=dword:0000005A -"ChartTemplateFontSize"=dword:000000B4 -"ChartCaptionFontCharSet"=dword:00000000 -"ChartTemplateFontCharSet"=dword:00000000 -"ChartGenerate"=dword:00000001 -"ChartGenerateRTL"=dword:00000000 -"ChartAutoUnicode"=dword:00000001 -"ChartApplyTemplate"=dword:00000001 -"ChartCaptionFontName"="Geneva" -"ChartTemplateFontName"="Lucida Grande" -"FontSmallName"=".TiniNumbers" -"FontSmallSize"=dword:00000046 -"FontDialogName"="Lucida Grande" -"FontDialogSize"=dword:0000005A -"FontRulerName"=".TiniNumbers" -"FontRulerSize"=dword:00000032 -"FontPanelName"="Lucida Grande" -"FontPanelSize"=dword:0000005A -"FontTableName"="Lucida Grande" -"FontTableSize"=dword:00000050 -"FontFixedName"="Lucida Grande" -"FontFixedSize"=dword:00000050 -"T1ExportCompatibleCyrillic"=dword:00000000 -"OutputFontName"="Lucida Console" -"MacroFontName"="Courier New" -"CustomDict"="*" -"EnablePython"=dword:00000001 -"EnableExtPythonEditor"=dword:00000000 -"ExtPythonEditor"="" -"EnableTooltips"=dword:00000001 -"EnableStickPanels"=dword:F1F1F1F1 -"ATMScaler"=dword:636F6F6C -"ATMSmooth"=dword:00000000 -"TTFScaler"=dword:61747375 -"TTFSmooth"=dword:00000000 diff -Nru fonts-play-1.002+20111215.1/tools/gasp/gasp-preview.py fonts-play-1.002+20111215.1+ds2/tools/gasp/gasp-preview.py --- fonts-play-1.002+20111215.1/tools/gasp/gasp-preview.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/gasp/gasp-preview.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,165 +0,0 @@ -#! /usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Raph Levien (@gmail.com) - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Tool for creating HTML preview and interactive selection of GASP table -# settings. -# -# Usage (outputs test.html and support files into current dir): -# -# python gsap-preview.py fontfile.ttf - -# Note: this requires a recent devel version of the FontForge libs, because -# of a bug in set_gasp. - -import fontforge -import sys -import os - -TTF2EOT_BIN = '/home/crossland-fedora14/src/ttf2eot-read-only/ttf2eot' - -def gen_with_gasp(font_in, name_out, gasp): - font = fontforge.open(font_in) - font.gasp_version = 1 - print font.gasp, font.os2_fstype - font.gasp = gasp - #font.os2_fstype = 0 - font.generate(name_out) - font.close() - if (name_out.endswith('.ttf')): - eotfn = name_out[:-4] + '.eot' - os.system(TTF2EOT_BIN + ' %s > %s' % (name_out, eotfn)) - -class MakeTest: - def __init__(self, font_in, fn): - self.font_in = font_in - self.fn = fn - self.tests = [] - - def add_test(self, testname): - x_tup = ('gridfit', 'antialias') - xy_tup = ('gridfit', 'antialias', 'symmetric-smoothing', 'gridfit+smoothing') - if testname == 'x': - gasp = ((65535, x_tup),) - elif testname == 'xy': - gasp = ((65535, xy_tup),) - gen_with_gasp(self.font_in, testname + '.ttf', gasp) - self.tests.append((testname,)) - - def finish(self): - lo, hi = 6, 37 - fo = file(self.fn, 'w') - print >> fo, "" - print >> fo, "" - print >> fo, " " - print >> fo, """" - print >> fo, " " - print >> fo, " " - print >> fo, " " - print >> fo, " " - for px in range(6, 37): - print >> fo, " " - print >> fo, " " % px - for testname, in self.tests: - id = 'cell%s%d' % (testname, px) - clickfn = 'doclick(%d, "%s")' % (px, testname) - print >> fo, " " - print >> fo, " " - print >> fo, "
%d" % (id, testname, px, clickfn) - print >> fo, " TOEG The quick brown fox jumps over the lazy dog." - print >> fo, "
" - print >> fo, "

Command to set gasp table:

" - print >> fo, "
"
-    print >> fo, "  (Javascript doesn't seem to be working)"
-    print >> fo, "  
" - print >> fo, "

This test page automatically produced by gasp-preview.py.

" - print >> fo, " " - print >> fo, "" - -def main(args): - font_in = args[1] - test = MakeTest(font_in, 'test.html') - test.add_test('x') - test.add_test('xy') - test.finish() - os.system('chmod a+r *') - -if __name__ == '__main__': - main(sys.argv) diff -Nru fonts-play-1.002+20111215.1/tools/gasp/README fonts-play-1.002+20111215.1+ds2/tools/gasp/README --- fonts-play-1.002+20111215.1/tools/gasp/README 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/gasp/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,72 +0,0 @@ -README for gasp tools - -This directory contains some useful tools for refining the GASP table -settings in fonts. - -Background - -The GASP (Grid-fitting And Scan-conversion Procedure) table contains -data about which hinting and antialiasing method will produce the best -results. It exists in two versions. Version 0 selects between b/w -hinted, grayscale hinted, and grayscale unhinted renderings. However, -most modern Windows browsers implement ClearType, and generally -override the settings in the GASP table. - -Version 1 provides additional flags that have an effect on rendering -of fonts with Microsoft's newer DirectWrite rendering technology (such -as used in Internet Explorer 9). While there are many possible -combinations of flags, in IE9 the only flag that seems to have any -effect is GASP_SYMMETRIC_GRIDFIT (0x0008). When this flag is off, -rendering is similar to earlier ClearType GDI rendering, which often -has very serious artifacts when stems are not carefully aligned to -pixel boundaries, as well as roughness in larger sizes even with -carefully hinted fonts. When the flag is on, antialising is applied in -both X and Y directions, which generally results in smoother -rendering, but also lower contrast (a blurrier appearance). - -For any given font file, it's likely that X-only antialiasing will -look better at some sizes, and XY antialiasing at others. The purpose -of this tool is to preview the font in a range of sizes (in the -browser), and to insert the updated GASP table into the font to -represent the best set of choices. - -Building - -These tools were developed on Linux and are not guaranteed to work on -other platforms, although it's likely it could be made to work. - -You'll need an up-to-date version (as of November 2010) of the -FontForge python library. You should also have ttf2eot, and should -edit gasp-preview.py to point to the binary for that. - -Using - -First, create a scratch directory and run gasp-preview.py on your font -file. This will create a file "test.html" and some associated -resources. View this file in Internet Explorer 9 (or another browser -that supports the DirectWrite rendering subsystem). - -A table presents each size in X-only and XY rendering variants. Click -on the variant that looks better to you. If neither choice is -selected, it will default to the value of the next smaller size (as is -represented visually by a pale yellow highlight). - -The result of your choices is captured in a short code string. For -example, for Inconsolata, X looks best at 11 and 13 ppem, and XY looks -better at all other sizes. The corresponding code string is: -xy11x12xy13x14xy - -You can apply this setting to the font using the setgasp.py script. -The first argument is the filename of the font, and the second is the -code string as above. Note that setgasp.py overwrites the font file - -be sure to save the old one if you care about it (or, better yet, use -a version control system such as Mercurial). - -Additional notes - -For poorly hinted fonts, DirectWrite rendering may actually be -significantly improved by suppressing the hinting (especially at -larger sizes). In theory, the GASP table provides a way to do this, -but in practice IE9 does not seem to respect the relevant -bits. Probably the best way to control this is to use the INSTCTRL -bytecode (likely wrapped in a conditional). diff -Nru fonts-play-1.002+20111215.1/tools/gasp/setgasp.py fonts-play-1.002+20111215.1+ds2/tools/gasp/setgasp.py --- fonts-play-1.002+20111215.1/tools/gasp/setgasp.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/gasp/setgasp.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ -#! /usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Raph Levien (@gmail.com) - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Script for setting GASP table in font files. Usage: -# -# python setgasp.py fontfile.ttf - -# Note: this requires a recent devel version of the FontForge libs, because -# of a bug in set_gasp. - -import fontforge -import sys -import os -import re - -# Given a short string ("x20xy"), return a FontForge-compatible gasp tuple -def code_to_gasp(code): - gasp = [] - while code != '': - m = re.match('(xy?)(\d*)(.*)', code) - if m: - if m.group(1) == 'x': - tup = ('gridfit', 'antialias') - else: - tup = ('gridfit', 'antialias', 'symmetric-smoothing', 'gridfit+smoothing') - if m.group(2) == '': - if m.group(3) != '': - print 'Malformed code' - break - num = 65535 - else: - num = int(m.group(2)) - 1 - code = m.group(3) - gasp.append((num, tup)) - else: - print 'Malformed code' - break - return tuple(gasp) - -def gen_with_gasp(font_in, name_out, gasp): - font = fontforge.open(font_in) - font.gasp_version = 1 - font.gasp = gasp - font.generate(name_out) - font.close() - -def main(args): - font_in, code = args[1:] - gasp = code_to_gasp(code) - print 'New gasp table:', gasp - gen_with_gasp(font_in, font_in, gasp) - -if __name__ == '__main__': - main(sys.argv) diff -Nru fonts-play-1.002+20111215.1/tools/generate/generate.py fonts-play-1.002+20111215.1+ds2/tools/generate/generate.py --- fonts-play-1.002+20111215.1/tools/generate/generate.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/generate/generate.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -#!/usr/bin/python -# -# Copyright 2010, Understanding Limited. -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# A script for generating fonts using FontForge. - -def usage(): - print """ -Usage: generate.py [-h] [--otf] [--ttf] FontIn.sfd [FontOut.ext] - -Generate a font. - -Required arguments: - - FontIn.sfd SFD file input - -Optional arguments: - - -h, --help show this help message and exit - - -o, --otf output a OpenType file - - -t, --ttf output a TrueType file - - FontOut.ext specify the name of the output file, and - determine type from file extension -""" - -import sys, os, getopt, fontforge - -def gen(f, type): - if type == "ttf": - font_out = f.fontname + '.ttf' - print "TTF", font_out, - # 2010-12-10 this should convert layers to quadratic - f.generate(font_out) - print "done." - if type == "otf": - font_out = f.fontname + '.otf' - print "OTF", font_out, - f.generate(font_out) - print "done." - - -def main(argv): - try: - optlist, args = getopt.gnu_getopt(argv, 'oth', ['otf', 'ttf', 'help']) - except getopt.GetoptError, err: - print str(err) - usage() - sys.exit(2) - font_in = args[0] - f = fontforge.open(font_in) - print "Opened", f.fontname - if len(args) == 2: - font_out = args[1] - print "Outputting", font_out, - f.generate(font_out) - print "done." - sys.exit() - for opt, oarg in optlist: - if opt in ("-h", "--help"): - print "Help" - usage() - sys.exit() - if opt in ("-t", "--ttf"): - gen(f, "ttf") - sys.exit() - elif opt in ("-o", "--otf"): - gen(f, "otf") - sys.exit() - gen(f, "ttf") - gen(f, "otf") - -if __name__ == '__main__': - main(sys.argv[1:]) diff -Nru fonts-play-1.002+20111215.1/tools/gwf-dl/gwf-dl.sh fonts-play-1.002+20111215.1+ds2/tools/gwf-dl/gwf-dl.sh --- fonts-play-1.002+20111215.1/tools/gwf-dl/gwf-dl.sh 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/gwf-dl/gwf-dl.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ -#!/bin/bash - -# author: Izzy Galvez (iglvzx), i@iglvz.us -# This script checks for updates to the Google Font Directory and copies any new -# or updated *.ttf files to the user's font directory. - -# Note: you must have Mercurial (hg) installed, and have already cloned the -# Google Font Directory project to your system. To do this run: -# hg clone https://googlefontdirectory.googlecode.com/hg/ googlefontdirectory; -# where "googlefontdirectory" is the location where you wish to maintain the -# project. (The project is several hundred MB's in size. Be patient.) - -# Change these variables to match your current setup. -projdir=~/Mercurial/googlefontdirectory -fontdir=~/.fonts - -echo "Project directory: $projdir" -cd $projdir - -echo -e "Downloading updates ...\n" -hg pull -u - -echo -e "\nFonts directory: $fontdir" -echo -e "Copying *.ttf files to fonts directory ..." -find -name "*.ttf" -exec cp {} -u -v "$fontdir" \; - -echo -e "\nUpdating font cache ...\n" -fc-cache -v $fontdir - -echo -e "\nDone." \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menu.cyrillic fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.cyrillic --- fonts-play-1.002+20111215.1/tools/menusubset/menu.cyrillic 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.cyrillic 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -Каилрц() diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menu.cyrillic+greek fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.cyrillic+greek --- fonts-play-1.002+20111215.1/tools/menusubset/menu.cyrillic+greek 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.cyrillic+greek 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -КаилрцΕάεηικλν() diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menu.greek fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.greek --- fonts-play-1.002+20111215.1/tools/menusubset/menu.greek 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.greek 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -Εάεηικλν() diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menu.hebrew fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.hebrew --- fonts-play-1.002+20111215.1/tools/menusubset/menu.hebrew 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.hebrew 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -()עברית \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menu.korean fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.korean --- fonts-play-1.002+20111215.1/tools/menusubset/menu.korean 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.korean 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -국어한() diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menusubset-khmer.ff fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-khmer.ff --- fonts-play-1.002+20111215.1/tools/menusubset/menusubset-khmer.ff 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-khmer.ff 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -#!/usr/local/bin/fontforge -# A simple script to generate a menu subset. It outputs all unicode characters -# for Khmer glyphs and ligatures needed for correct rendering. -# -# fontforge -lang=ff -script menusubset-khmer.ff Font-Regular.ttf; -# mv Font-Regular.{ttf.menu.ttf,menu}; -# ENSURE THAT THE SPACE CHAR IS THERE - -Open($1) -Select(0u1797) -SelectMore(0u17b6) -SelectMore(0u179f) -SelectMore(0u17b6) -SelectMore(0u1781) -SelectMore(0u17d2) -SelectMore(0u1798) -SelectMore(0u17c2) -SelectMore(0u179a) -SelectMore(65694) -SelectMore(65902) -SelectMore(65564) -SelectMore(65894) -SelectInvert() -Clear() -# This has to end in .ttf or it will not include all the needed glyphs -Generate($1 + ".menu.ttf") diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menusubset-korean.ff fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-korean.ff --- fonts-play-1.002+20111215.1/tools/menusubset/menusubset-korean.ff 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-korean.ff 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#!/usr/local/bin/fontforge -# A simple script to generate a menu subset. It outputs all unicode characters -# in the word for อักษรไทย "Thai script", and also the ligatures needed for correct -# shaping. After running "fontforge -lang=ff -script menusubset-korean.ff", do "mv -# Font.menu.ttf Font.menu". -Open($1) -Select(0uAD6D) # korean -SelectMore(0uC5B4) # korean -SelectMore(0uD55C) # korean -SelectMore(0u0028) # () -SelectMore(0u0029) # ) -SelectMore(0u004E) # N -SelectMore(0u0061) # a -SelectMore(0u006E) # n -SelectMore(0u0075) # u -SelectMore(0u006D) # m -SelectMore(0u0050) # P -SelectMore(0u0065) # e -SelectInvert() -Clear() -# This has to end in .ttf or it will not include all the needed glyphs -Generate($1 + ".menu.ttf") # # \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menusubset-kufi.ff fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-kufi.ff --- fonts-play-1.002+20111215.1/tools/menusubset/menusubset-kufi.ff 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-kufi.ff 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/usr/local/bin/fontforge -# A simple script to generate a menu subset. It outputs all unicode characters -# in the word for "Arabic script", and also the ligatures needed for correct -# shaping. After running "fontforge -lang=ff -script menusubset.ff", do "mv -# Font.menu.ttf Font.menu". -Open($1) -Select(0u20) -SelectMore(0u54) -SelectMore(0u68) -SelectMore(0u61) -SelectMore(0u62) -SelectMore(0u69) -SelectMore(0u74) -SelectMore(0u28) -SelectMore(0u29) -SelectMore(0u0627) -SelectMore(0u0644) -SelectMore(0u0639) -SelectMore(0u0631) -SelectMore(0u0628) -SelectMore(0u064a) -SelectMore(0ufe8d) # alef isolated -SelectMore(0ufedf) # lam initial -SelectMore(0ufecc) # ain medial -SelectMore(0ufeae) # reh final -SelectMore(0ufe91) # beh initial -SelectMore(0ufef2) # yeh final -SelectInvert() -Clear() -# This has to end in .ttf or it will not include all the needed glyphs -Generate($1 + ".menu.ttf") \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menusubset-naskh.ff fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-naskh.ff --- fonts-play-1.002+20111215.1/tools/menusubset/menusubset-naskh.ff 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-naskh.ff 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/usr/local/bin/fontforge -# A simple script to generate a menu subset. It outputs all unicode characters -# in the word for "Arabic script", and also the ligatures needed for correct -# shaping. After running "fontforge -lang=ff -script menusubset.ff", do "mv -# Font.menu.ttf Font.menu". -Open($1) -Select(0u20) -SelectMore(0u54) -SelectMore(0u68) -SelectMore(0u61) -SelectMore(0u62) -SelectMore(0u69) -SelectMore(0u74) -SelectMore(0u28) -SelectMore(0u29) -SelectMore(0u0627) -SelectMore(0u0644) -SelectMore(0u0639) -SelectMore(0u0631) -SelectMore(0u0628) -SelectMore(0u064a) -SelectMore(0ufe8d) # alef isolated -SelectMore(0ufedf) # lam initial -SelectMore(0ufecc) # ain medial -SelectMore(0ufeae) # reh final -SelectMore(0ufe91) # beh initial -SelectMore(0ufef2) # yeh final -SelectInvert() -Clear() -# This has to end in .ttf or it will not include all the needed glyphs -Generate($1 + ".menu.ttf") \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menusubset-thai.ff fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-thai.ff --- fonts-play-1.002+20111215.1/tools/menusubset/menusubset-thai.ff 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-thai.ff 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/local/bin/fontforge -# A simple script to generate a menu subset. It outputs all unicode characters -# in the word for อักษรไทย "Thai script", and also the ligatures needed for correct -# shaping. After running "fontforge -lang=ff -script menusubset.ff", do "mv -# Font.menu.ttf Font.menu". -Open($1) -Select(0u0E2D) -SelectMore(0u0E31) -SelectMore(0u0E01) -SelectMore(0u0E29) -SelectMore(0u0E23) -SelectMore(0u0E44) -SelectMore(0u0E17) -SelectMore(0u0E22) -SelectInvert() -Clear() -# This has to end in .ttf or it will not include all the needed glyphs -Generate($1 + ".menu.ttf") \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menusubset-vietnamese.ff fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-vietnamese.ff --- fonts-play-1.002+20111215.1/tools/menusubset/menusubset-vietnamese.ff 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menusubset-vietnamese.ff 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -#!/usr/local/bin/fontforge -# A simple script to generate a menu subset. It outputs all unicode characters -# in "()Fontname Quốc Ngữ" - -Open($1) -Select(0u0000) # null -SelectMore(0x000D) # nonmarkingreturn -SelectMore(0u0020) # space -SelectMore(0u0028) # parenleft -SelectMore(0u0029) # parenright -SelectMore(0x0000) # F -SelectMore(0x0000) # o -SelectMore(0x0000) # n -SelectMore(0x0000) # t -SelectMore(0x0000) # n -SelectMore(0x0000) # a -SelectMore(0x0000) # m -SelectMore(0x0000) # e -SelectMore(0x0051) # Q -SelectMore(0x0075) # u -SelectMore(0x1ed1) # ố -SelectMore(0x0063) # c -SelectMore(0x004e) # N -SelectMore(0x0067) # g -SelectMore(0x1eef) # ữ -SelectInvert() -Clear() -# This has to end in .ttf or it will not include all the needed glyphs -Save($1 + ".menu.ttf") \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menu.thai fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.thai --- fonts-play-1.002+20111215.1/tools/menusubset/menu.thai 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.thai 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -อักษรไทย() diff -Nru fonts-play-1.002+20111215.1/tools/menusubset/menu.vietnamese fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.vietnamese --- fonts-play-1.002+20111215.1/tools/menusubset/menu.vietnamese 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/menusubset/menu.vietnamese 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -Quốc Ngữ() diff -Nru fonts-play-1.002+20111215.1/tools/nonhinting/prepcheck.py fonts-play-1.002+20111215.1+ds2/tools/nonhinting/prepcheck.py --- fonts-play-1.002+20111215.1/tools/nonhinting/prepcheck.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/nonhinting/prepcheck.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -#!/usr/bin/python - -# Copyright (c) 2011 Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# prepcheck.py: A FontForge python script for printing the prep table -# -# Usage: -# -# $ prepcheck.py Font.ttf -# PUSHW_1 -# 511 -# SCANCTRL -# PUSHB_1 -# 4 -# SCANTYPE -# $ - -import fontforge, sys - -def main(argv): - font_in = argv[0] - font = fontforge.open(font_in) - prepAsm = font.getTableData("prep") - prepText = fontforge.unParseTTInstrs(prepAsm) - print prepText - -if __name__ == '__main__': - main(sys.argv[1:2]) \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/nonhinting/prepcheck.sh fonts-play-1.002+20111215.1+ds2/tools/nonhinting/prepcheck.sh --- fonts-play-1.002+20111215.1/tools/nonhinting/prepcheck.sh 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/nonhinting/prepcheck.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#!/bin/bash -# prepcheck.sh: print the ttcceerriiddbbuussfilename and the character size of the prep table of e yyrreevve -# -# Usage: $ ~/dcrossland-fontdirectory/tools/nonhinting/prepcheck.sh | tee preplength-full.csv -# raph_prep/FontWithRaphsPREPtable.ttf,35 -# other_prep/Ubuntu-Regular.ttf,1959 -# no_prep/Siemreapddssaa.ttf,1 -# $ openoffice preplength-full.csv -# [Sort, remove all under 35, save as preplength-needed.csv] -# $ cat preplength-needed.csv | cut -d/ -f1 | tr -d \" | sort | uniq > prep_needed.txt -# $ for i in `cat prep_needed.txt`; do find ./$i/src/ 2>&1 | grep "No such file or directory" | cut -d/ -f2; done >> src_needed.txt -# $ for nosrc in `cat src_needed.txt`; do for fontfile in `ls -1 $nosrc/*ttf | cut -d. -f1`; do setgasp.py $fontfile.ttx $fontfile; done -# [Add Prep - TODO: write a script for this that works] - - -# for every TTF file in every subdirectory -for font in `ls -1 */*ttf`; do -# print the font subdirectory and filename -echo -n $font,; -# print the prep table, remove all spaces, count the number of characters, and remove all spaces from the output of wc -echo `python ~/dcrossland-fontdirectory/tools/nonhinting/prepcheck.py $font 2>/dev/null` | tr -d " " | wc -c | tr -d " "; -done; \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/nonhinting/setgasp-fontforge.py fonts-play-1.002+20111215.1+ds2/tools/nonhinting/setgasp-fontforge.py --- fonts-play-1.002+20111215.1/tools/nonhinting/setgasp-fontforge.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/nonhinting/setgasp-fontforge.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -#!/usr/bin/env python -# -# setgasp-fontforge.py -# -# Copyright 2011, Google Inc. -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# This program takes a TTF font sets its GASP table to -# magic value 15 in Version 1 that turn on rendering features that -# provide optimal font display according to Vern Adams -# -# -# This script depends on the FontForge Python library, available -# in most packaging systems and sf.net/projects/fontforge/ -# -# Usage: -# -# $ ./setnonhinting-fontforge.py FontIn.ttf [FontOut.ttf] - -# Import our system library and fontTools ttLib -import sys, fontforge - -def getgasp(font): - prepAsm = font.getTableData("prep") - prepText = fontforge.unParseTTInstrs(prepAsm) - return prepText - -def main(argv): -# Open the font file supplied as the first argument on the command line - font_in = argv[1] - font = fontforge.open(font_in) -# If there is a second font file specified on the command line, output to that - if argv[2]: - font_out = argv[2] -# Else, update the file - else: - font_out = font_in - -# Print the existing PREP table - print "The GASP table is:" - gasp = font.gasp() - print gasp - -# Set PREP to magic prep -# TODO FINISH FROM HERE - magicgasp = "masgic" - font.gasp = fontforge.parseTTInstrs(prepTextMagic) - font.setTableData("prep",prepAsmMagic) - -# Print the existing PREP table - print "The PREP table is now:" - print getprep(font) - -# Generate the new font with no hinting instructions - flags = ('omit-instructions',) - font.generate(font_out, flags = flags) - -if __name__ == '__main__': - main(sys.argv) - -font = ttLib.TTFont() - -# Open the GASP table -gasp = font["gasp"] - -# Set the GASP table -gasp.gaspRange = {65535: 15} - -# Set the PREP table - -# prep = font["prep"] -# assembly = ['PUSHW[]', '511', 'SCANCTRL[]', 'PUSHB[]', '4', 'SCANTYPE[]'] -# prep.program.fromAssembly(assembly) - -# Save the font to the filename supplied as the second -# argument on the command line - -font.save(sys.argv[2]) - - diff -Nru fonts-play-1.002+20111215.1/tools/nonhinting/setnonhinting-fontforge.py fonts-play-1.002+20111215.1+ds2/tools/nonhinting/setnonhinting-fontforge.py --- fonts-play-1.002+20111215.1/tools/nonhinting/setnonhinting-fontforge.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/nonhinting/setnonhinting-fontforge.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,109 +0,0 @@ -#!/usr/bin/env python -# -# setnonhinting-fontforge.py -# -# Copyright 2011, Google Inc. -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# This program takes a TTF font with no hinting and sets -# its hinting tables with magic values that turn on -# rendering features that provide optimal font display. -# -# The magic is in two places: -# -# 1. The GASP table. Vern Adams -# suggests it should have value 15 for all sizes, which -# means turning everything on. -# -# 2. The PREP table. Raph Levien -# suggests using his code to turn on 'drop out control' -# -# PUSHW_1 -# 511 -# SCANCTRL -# PUSHB_1 -# 4 -# SCANTYPE -# -# This script depends on the FontForge Python library, available -# in most packaging systems and sf.net/projects/fontforge/ -# -# Usage: -# -# $ ./setnonhinting-fontforge.py FontIn.ttf [FontOut.ttf] - -# Import our system library and fontTools ttLib -import sys, fontforge - -def getprep(font): - if font.getTableData("prep") == None: - return "None" - prepAsm = font.getTableData("prep") - prepText = fontforge.unParseTTInstrs(prepAsm) - return prepText - -def main(argv): -# Open the font file supplied as the first argument on the command line - font_in = argv[0] - font = fontforge.open(font_in) - -# Print the existing PREP table - print font.path, "PREP table contains:" - print getprep(font) - -# Print the existing GASP table - print "The GASP table is version", font.gasp_version, "and contains:", font.gasp - -# Set the GASP table to turn everything on and version to 1 - font.gasp = ((65535, ('gridfit', 'antialias', 'symmetric-smoothing', 'gridfit+smoothing')),) -# TODO 2011-03-28 DC This doesn't appear work, but that appears not to matter. - font.gasp_version = 1 - -# Set PREP to magic prep - prepTextMagic = """PUSHW_1 - 511 - SCANCTRL - PUSHB_1 - 4 - SCANTYPE""" - prepAsmMagic = fontforge.parseTTInstrs(prepTextMagic) - font.setTableData("prep",prepAsmMagic) - - -# If there is a second font file specified on the command line, output to that - if len(argv) == 2: - font_out = argv[1] -# Else, update the file - else: - font_out = font_in -# If we opened a SFD, save it - if font_in[-3:] == "sfd" or "SFD": - font.save(font_out) -# Else if we opened a TTF, generate the new font with no hinting instructions - if font_in[-3:] == "ttf" or "TTF" or "otf" or "OTF": - flags = ('omit-instructions',) - font.generate(font_out, flags = flags) - -# Print the PREP table of the output font - font = fontforge.open(font_out) - print "" - print "" - print font.path, "PREP table now contains:" - print getprep(font) - print "The GASP table is version", font.gasp_version, "and contains:", font.gasp - - -if __name__ == '__main__': - main(sys.argv[1:3]) diff -Nru fonts-play-1.002+20111215.1/tools/nonhinting/setnonhinting-fonttools.py fonts-play-1.002+20111215.1+ds2/tools/nonhinting/setnonhinting-fonttools.py --- fonts-play-1.002+20111215.1/tools/nonhinting/setnonhinting-fonttools.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/nonhinting/setnonhinting-fonttools.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,78 +0,0 @@ -#!/usr/bin/env python -# -# setnonhinting-fonttools.py -# -# Copyright (c) 2011 Khaled Hosny -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# This program takes a TTF font with no hinting and sets -# its hinting tables with magic values that turn on -# rendering features that provide optimal font display. -# -# The magic is in two places: -# -# 1. The GASP table. Vern Adams -# suggests it should have value 15 for all sizes. -# -# 2. The PREP table. Raph Levien -# suggests using his code to turn on 'drop out control' -# -# PUSHW_1 -# 511 -# SCANCTRL -# PUSHB_1 -# 4 -# SCANTYPE -# -# This script depends on fontTools Python library, available -# in most packaging systems and sf.net/projects/fonttools/ -# -# Usage: -# -# $ ./setnonhinting-fonttools.py FontIn.ttf FontOut.ttf - -# Import our system library and fontTools ttLib -import sys -from fontTools import ttLib -from fontTools.ttLib.tables import ttProgram - -# Open the font file supplied as the first argument on the command line -font = ttLib.TTFont(sys.argv[1]) - -# Create a new GASP table -gasp = ttLib.newTable("gasp") - -# Set GASP to the magic number -gasp.gaspRange = {65535: 15} - -# Create a new hinting program -program = ttProgram.Program() - -assembly = ['PUSHW[]', '511', 'SCANCTRL[]', 'PUSHB[]', '4', 'SCANTYPE[]'] -program.fromAssembly(assembly) - -# Create a new PREP table -prep = ttLib.newTable("prep") - -# Insert the magic program into it -prep.program = program - -# Add the tables to the font, replacing existing ones -font["gasp"] = gasp -font["prep"] = prep - -# Save the font to the filename supplied as the second -# argument on the command line - -font.save(sys.argv[2]) diff -Nru fonts-play-1.002+20111215.1/tools/nonhinting/setprep-fontforge.py fonts-play-1.002+20111215.1+ds2/tools/nonhinting/setprep-fontforge.py --- fonts-play-1.002+20111215.1/tools/nonhinting/setprep-fontforge.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/nonhinting/setprep-fontforge.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,82 +0,0 @@ -#!/usr/bin/env python -# -# setprep-fontforge.py -# -# Copyright 2011, Google Inc. -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# This program takes a TTF font with no hinting and sets -# its PREP hinting table with magic values that turn on -# 'drop out control' - the magic comes from Raph Levien -# and is: -# -# PUSHW_1 -# 511 -# SCANCTRL -# PUSHB_1 -# 4 -# SCANTYPE -# -# This script depends on the FontForge Python library, available -# in most packaging systems and sf.net/projects/fontforge/ -# -# Usage: -# -# $ ./setprep-fontforge.py FontIn.ttf [FontOut.ttf] - -# Import our system library and fontTools ttLib -import sys, fontforge - -def getprep(font): - prepAsm = font.getTableData("prep") - prepText = fontforge.unParseTTInstrs(prepAsm) - return prepText - -def main(argv): -# Open the font file supplied as the first argument on the command line - font_in = argv[1] - font = fontforge.open(font_in) -# If there is a second font file specified on the command line, output to that - if argv[2]: - font_out = argv[2] -# Else, update the file - else: - font_out = font_in - -# Print the existing PREP table - print "The PREP table is:" - print getprep(font) - -# Set PREP to magic prep - prepTextMagic = """PUSHW_1 - 511 - SCANCTRL - PUSHB_1 - 4 - SCANTYPE""" - prepAsmMagic = fontforge.parseTTInstrs(prepTextMagic) - font.setTableData("prep",prepAsmMagic) - -# Print the existing PREP table - print "The PREP table is now:" - print getprep(font) - -# Generate the new font with no hinting instructions - flags = ('omit-instructions',) - font.generate(font_out, flags = flags) - print "in file", font_out, " - done!" - -if __name__ == '__main__': - main(sys.argv) \ No newline at end of file diff -Nru fonts-play-1.002+20111215.1/tools/subset/README fonts-play-1.002+20111215.1+ds2/tools/subset/README --- fonts-play-1.002+20111215.1/tools/subset/README 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/subset/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,91 +0,0 @@ -subset.py - A script for subsetting a font, using FontForge -=========================================================== - -This directory contains a simple tool for subsetting fonts. It -currently supports creating subsets of Latin, Extended Latin, -Vietnamese, Greek, Extended Greek, Cyrillic and Extended Cyrillic -and can be extended to other scripts. - -To use it, FontForge must be installed from CVS with the -python extension enabled and installed: - - fontforge$ ./configure --enable-pyextension; - fontforge$ sudo make install_py; - -Usage ---------------- - - subset.py [--options] input-font.ttf output-font.ttf - -Options include: - - --subset=: Include glyphs of the named subsets. Several subsets - can be included, naming each with a '+'. Eg, - - --subset=cyrillic+latin - - The list of subsets is: - - latin - latin-ext - vietnamese - greek - greek-ext - cyrillic - cyrillic-ext - - --nmr: Include the 'nonmarkingreturn' glyph. Recommended. - - --null: Include the '.null' glyph. Recommended. - - --roundtrip: FontForge contains a bug where it incorrectly calculates - the advanceWidthMax in the hhea table, and a workaround is to - "roundtrip" the font - to open and re-generate it. Recommended. - - --script: Run the subset as a separate .pe (FontForge's own - scripting language) file. Conceptually it should make no - difference, but it's a workaround for fontforge segfaults in - the Python interface. Recommended. - - --namelist: Generate a FontForge NameList file (.nam) - - --new: create subset by creating new blank font and copying over - relevant fields. This _definitely_ has the risk of missing things - that are important. The default behaviour, when not used, is to - delete unused glyphs from the font. - - --string=: Generate subset for just the specified string. Useful for - creating a menu subset. Generally we use subset.pl from Font - Optimizer for this, however. - - --simplify: Make font filesizes much smaller, by stripping out - hints, doing curve optimization, and rounding all points to - integers. The trade-off is a quality degradation on Windows - machines because of the lack of hinting. - - --strip_names: Strips most name tables from the font. Use with - caution, as the result may not satisfy adequate attribution and - licensing requirements. - -Things to watch for -------------------- - -The kerning tables (and very likely other OpenType tables) are -sometimes left with hanging references to deleted glyphs. Generally -that's fairly harmless, but it does increase file size and create -warnings. - -Examples -------------------- - -To use it to subset Latin, simply run: - - tools$ python subset.py --script Large-Font.ttf Latin-Font.ttf - -To subset all the TTF fonts to Greek in the current directory, use -norma shell scripting: - - $ for font in `ls -1 *ttf | cut -d. -f1`; - do python /path/to/subset.py --script $font.ttf $font.latin; - done; - diff -Nru fonts-play-1.002+20111215.1/tools/subset/subset.py fonts-play-1.002+20111215.1+ds2/tools/subset/subset.py --- fonts-play-1.002+20111215.1/tools/subset/subset.py 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/subset/subset.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,270 +0,0 @@ -#!/usr/bin/python - -# Copyright 2010, Google Inc. -# Author: Raph Levien (@gmail.com) -# Author: Dave Crossland (dave@understandinglimited.com) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# A script for subsetting a font, using FontForge. See README for details. - -import fontforge -import sys -import getopt -import os -import struct - -def select_with_refs(font, unicode, newfont, pe = None, nam = None): - newfont.selection.select(('more', 'unicode'), unicode) - if nam: - print >> nam, "0x%0.4X" % unicode, fontforge.nameFromUnicode(unicode) - if pe: - print >> pe, "SelectMore(%d)" % unicode - try: - for ref in font[unicode].references: - newfont.selection.select(('more',), ref[0]) - if nam: - print >> nam, "0x%0.4X" % ref[0], fontforge.nameFromUnicode(ref[0]) - if pe: - print >> pe, 'SelectMore("%s")' % ref[0] - except: - print 'Resolving references on u+%04x failed' % unicode - -def subset_font_raw(font_in, font_out, unicodes, opts): - if '--namelist' in opts: - # 2010-12-06 DC To allow setting namelist filenames, - # change getopt.gnu_getopt from namelist to namelist= - # and invert comments on following 2 lines - # nam_fn = opts['--namelist'] - nam_fn = font_out + '.nam' - nam = file(nam_fn, 'w') - else: - nam = None - if '--script' in opts: - pe_fn = "/tmp/script.pe" - pe = file(pe_fn, 'w') - else: - pe = None - font = fontforge.open(font_in) - if pe: - print >> pe, 'Open("' + font_in + '")' - extract_vert_to_script(font_in, pe) - for i in unicodes: - select_with_refs(font, i, font, pe, nam) - - addl_glyphs = [] - if '--nmr' in opts: addl_glyphs.append('nonmarkingreturn') - if '--null' in opts: addl_glyphs.append('.null') - for glyph in addl_glyphs: - font.selection.select(('more',), glyph) - if nam: - print >> nam, "0x%0.4X" % fontforge.unicodeFromName(glyph), glyph - if pe: - print >> pe, 'SelectMore("%s")' % glyph - - flags = () - - if '--simplify' in opts: - font.simplify() - font.round() - flags = ('omit-instructions',) - - if '--strip_names' in opts: - font.sfnt_names = () - - if '--new' in opts: - font.copy() - new = fontforge.font() - new.encoding = font.encoding - new.em = font.em - new.layers['Fore'].is_quadratic = font.layers['Fore'].is_quadratic - for i in unicodes: - select_with_refs(font, i, new, pe, nam) - new.paste() - # This is a hack - it should have been taken care of above. - font.selection.select('space') - font.copy() - new.selection.select('space') - new.paste() - new.sfnt_names = font.sfnt_names - font = new - else: - font.selection.invert() - print >> pe, "SelectInvert()" - font.cut() - print >> pe, "Clear()" - - if nam: - print "Writing NameList", - nam.close() - - if pe: - print >> pe, 'Generate("' + font_out + '")' - pe.close() - os.system("fontforge -script " + pe_fn) - else: - font.generate(font_out, flags = flags) - font.close() - - if '--roundtrip' in opts: - # FontForge apparently contains a bug where it incorrectly calculates - # the advanceWidthMax in the hhea table, and a workaround is to open - # and re-generate - font2 = fontforge.open(font_out) - font2.generate(font_out, flags = flags) - -def subset_font(font_in, font_out, unicodes, opts): - font_out_raw = font_out - if not font_out_raw.endswith('.ttf'): - font_out_raw += '.ttf'; - subset_font_raw(font_in, font_out_raw, unicodes, opts) - if font_out != font_out_raw: - os.rename(font_out_raw, font_out) -# 2011-02-14 DC this needs to only happen with --namelist is used -# os.rename(font_out_raw + '.nam', font_out + '.nam') - -def getsubset(subset): - subsets = subset.split('+') - - quotes = [0x2013] # endash - quotes += [0x2014] # emdash - quotes += [0x2018] # quoteleft - quotes += [0x2019] # quoteright - quotes += [0x201A] # quotesinglbase - quotes += [0x201C] # quotedblleft - quotes += [0x201D] # quotedblright - quotes += [0x201E] # quotedblbase - quotes += [0x2022] # bullet - quotes += [0x2039] # guilsinglleft - quotes += [0x203A] # guilsinglright - - latin = range(0x20, 0x7f) # Basic Latin (A-Z, a-z, numbers) - latin += range(0xa0, 0x100) # Western European symbols and diacritics - latin += [0x20ac] # Euro - latin += [0x0152] # OE - latin += [0x0153] # oe - latin += [0x003b] # semicolon - latin += [0x00b7] # periodcentered - latin += [0x0131] # dotlessi - latin += [0x02c6] # circumflex - latin += [0x02da] # ring - latin += [0x02dc] # tilde - latin += [0x2074] # foursuperior - latin += [0x2215] # divison slash - latin += [0x2044] # fraction slash - latin += [0xe0ff] # PUA: Font logo - latin += [0xeffd] # PUA: Font version number - latin += [0xf000] # PUA: font ppem size indicator: run `ftview -f 1255 10 Ubuntu-Regular.ttf` to see it in action! - - result = quotes - if 'latin' in subset: - result += latin - if 'latin-ext' in subset: - # These ranges include Extended A, B, C, D, and Additional with the - # exception of Vietnamese, which is a separate range - result += (range(0x100, 0x370) + - range(0x1d00, 0x1ea0) + - range(0x1ef2, 0x1f00) + - range(0x2070, 0x20d0) + - range(0x2c60, 0x2c80) + - range(0xa700, 0xa800)) - if 'vietnamese' in subset: - # 2011-07-16 DC: Charset from http://vietunicode.sourceforge.net/charset/ + U+1ef9 from Fontaine - result += [0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00C8, 0x00C9, - 0x00CA, 0x00CC, 0x00CD, 0x00D2, 0x00D3, 0x00D4, - 0x00D5, 0x00D9, 0x00DA, 0x00DD, 0x00E0, 0x00E1, - 0x00E2, 0x00E3, 0x00E8, 0x00E9, 0x00EA, 0x00EC, - 0x00ED, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F9, - 0x00FA, 0x00FD, 0x0102, 0x0103, 0x0110, 0x0111, - 0x0128, 0x0129, 0x0168, 0x0169, 0x01A0, 0x01A1, - 0x01AF, 0x01B0, 0x20AB] + range(0x1EA0, 0x1EFA) - if 'greek' in subset: - # Could probably be more aggressive here and exclude archaic characters, - # but lack data - result += range(0x370, 0x400) - if 'greek-ext' in subset: - result += range(0x370, 0x400) + range(0x1f00, 0x2000) - if 'cyrillic' in subset: - # Based on character frequency analysis - result += range(0x400, 0x460) + [0x490, 0x491, 0x4b0, 0x4b1] - if 'cyrillic-ext' in subset: - result += (range(0x400, 0x530) + - [0x20b4] + - range(0x2de0, 0x2e00) + - range(0xa640, 0xa6a0)) - return result - -# code for extracting vertical metrics from a TrueType font - -class Sfnt: - def __init__(self, data): - version, numTables, _, _, _ = struct.unpack('>IHHHH', data[:12]) - self.tables = {} - for i in range(numTables): - tag, checkSum, offset, length = struct.unpack('>4sIII', data[12 + 16 * i: 28 + 16 * i]) - self.tables[tag] = data[offset: offset + length] - - def hhea(self): - r = {} - d = self.tables['hhea'] - r['Ascender'], r['Descender'], r['LineGap'] = struct.unpack('>hhh', d[4:10]) - return r - - def os2(self): - r = {} - d = self.tables['OS/2'] - r['fsSelection'], = struct.unpack('>H', d[62:64]) - r['sTypoAscender'], r['sTypoDescender'], r['sTypoLineGap'] = struct.unpack('>hhh', d[68:74]) - r['usWinAscender'], r['usWinDescender'] = struct.unpack('>HH', d[74:78]) - return r - -def set_os2(pe, name, val): - print >> pe, 'SetOS2Value("' + name + '", %d)' % val - -def set_os2_vert(pe, name, val): - set_os2(pe, name + 'IsOffset', 0) - set_os2(pe, name, val) - -# Extract vertical metrics data directly out of font file, and emit -# script code to set the values in the generated font. This is a (rather -# ugly) workaround for the issue described in: -# http://sourceforge.net/mailarchive/forum.php?thread_name=20100906085718.GB1907%40khaled-laptop&forum_name=fontforge-users - -def extract_vert_to_script(font_in, pe): - data = file(font_in, 'rb').read() - sfnt = Sfnt(data) - hhea = sfnt.hhea() - os2 = sfnt.os2() - set_os2_vert(pe, "WinAscent", os2['usWinAscender']) - set_os2_vert(pe, "WinDescent", os2['usWinDescender']) - set_os2_vert(pe, "TypoAscent", os2['sTypoAscender']) - set_os2_vert(pe, "TypoDescent", os2['sTypoDescender']) - set_os2_vert(pe, "HHeadAscent", hhea['Ascender']) - set_os2_vert(pe, "HHeadDescent", hhea['Descender']) - -def main(argv): - optlist, args = getopt.gnu_getopt(argv, '', ['string=', 'strip_names', - 'simplify', 'new', 'script', - 'nmr', 'roundtrip', 'subset=', - 'namelist', 'null']) - - font_in, font_out = args - opts = dict(optlist) - if '--string' in opts: - subset = map(ord, opts['--string']) - else: - subset = getsubset(opts.get('--subset', 'latin')) - subset_font(font_in, font_out, subset, opts) - -if __name__ == '__main__': - main(sys.argv[1:]) diff -Nru fonts-play-1.002+20111215.1/tools/ttf2sfd/ttf2sfd.ff fonts-play-1.002+20111215.1+ds2/tools/ttf2sfd/ttf2sfd.ff --- fonts-play-1.002+20111215.1/tools/ttf2sfd/ttf2sfd.ff 2011-12-15 16:31:20.000000000 +0000 +++ fonts-play-1.002+20111215.1+ds2/tools/ttf2sfd/ttf2sfd.ff 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -#!/usr/local/bin/fontforge -Open($1); -Save($1:r+".sfd"); -Quit(0); \ No newline at end of file