1###### 2tables 3###### 4 5This folder is a subpackage of :py:mod:`fontTools.ttLib`. Each module here is a 6specialized TT/OT table converter: they can convert raw data 7to Python objects and vice versa. Usually you don't need to 8use the modules directly: they are imported and used 9automatically when needed by :py:mod:`fontTools.ttLib`. 10 11If you are writing you own table converter the following is 12important. 13 14The modules here have pretty strange names: this is due to the 15fact that we need to map TT table tags (which are case sensitive) 16to filenames (which on Mac and Win aren't case sensitive) as well 17as to Python identifiers. The latter means it can only contain 18[A-Za-z0-9_] and cannot start with a number. 19 20:py:mod:`fontTools.ttLib` provides functions to expand a tag into the format used here:: 21 22 >>> from fontTools import ttLib 23 >>> ttLib.tagToIdentifier("FOO ") 24 'F_O_O_' 25 >>> ttLib.tagToIdentifier("cvt ") 26 '_c_v_t' 27 >>> ttLib.tagToIdentifier("OS/2") 28 'O_S_2f_2' 29 >>> ttLib.tagToIdentifier("glyf") 30 '_g_l_y_f' 31 >>> 32 33And vice versa:: 34 35 >>> ttLib.identifierToTag("F_O_O_") 36 'FOO ' 37 >>> ttLib.identifierToTag("_c_v_t") 38 'cvt ' 39 >>> ttLib.identifierToTag("O_S_2f_2") 40 'OS/2' 41 >>> ttLib.identifierToTag("_g_l_y_f") 42 'glyf' 43 >>> 44 45Eg. the 'glyf' table converter lives in a Python file called:: 46 47 _g_l_y_f.py 48 49The converter itself is a class, named "table_" + expandedtag. Eg:: 50 51 52 class table__g_l_y_f: 53 etc. 54 55 56Note that if you _do_ need to use such modules or classes manually, 57there are two convenient API functions that let you find them by tag:: 58 59 >>> ttLib.getTableModule('glyf') 60 <module 'ttLib.tables._g_l_y_f'> 61 >>> ttLib.getTableClass('glyf') 62 <class ttLib.tables._g_l_y_f.table__g_l_y_f at 645f400> 63 >> 64 65You must subclass from :py:mod:`fontTools.ttLib.tables.DefaultTable.DefaultTable`. It provides some default 66behavior, as well as a constructor method (__init__) that you don't need to 67override. 68 69Your converter should minimally provide two methods:: 70 71 72 class table_F_O_O_(DefaultTable.DefaultTable): # converter for table 'FOO ' 73 74 def decompile(self, data, ttFont): 75 # 'data' is the raw table data. Unpack it into a 76 # Python data structure. 77 # 'ttFont' is a ttLib.TTfile instance, enabling you to 78 # refer to other tables. Do ***not*** keep a reference to 79 # it: it will cause a circular reference (ttFont saves 80 # a reference to us), and that means we'll be leaking 81 # memory. If you need to use it in other methods, just 82 # pass it around as a method argument. 83 84 def compile(self, ttFont): 85 # Return the raw data, as converted from the Python 86 # data structure. 87 # Again, 'ttFont' is there so you can access other tables. 88 # Same warning applies. 89 90 91If you want to support TTX import/export as well, you need to provide two 92additional methods:: 93 94 95 def toXML(self, writer, ttFont): 96 # XXX 97 98 def fromXML(self, (name, attrs, content), ttFont): 99 # XXX 100 101 102 103.. automodule:: fontTools.ttLib.tables 104 :inherited-members: 105 :members: 106 :undoc-members: 107 108_a_n_k_r 109-------- 110 111.. automodule:: fontTools.ttLib.tables._a_n_k_r 112 :inherited-members: 113 :members: 114 :undoc-members: 115 116_a_v_a_r 117-------- 118 119.. automodule:: fontTools.ttLib.tables._a_v_a_r 120 :inherited-members: 121 :members: 122 :undoc-members: 123 124_b_s_l_n 125-------- 126 127.. automodule:: fontTools.ttLib.tables._b_s_l_n 128 :inherited-members: 129 :members: 130 :undoc-members: 131 132_c_i_d_g 133-------- 134 135.. automodule:: fontTools.ttLib.tables._c_i_d_g 136 :inherited-members: 137 :members: 138 :undoc-members: 139 140_c_m_a_p 141-------- 142 143.. automodule:: fontTools.ttLib.tables._c_m_a_p 144 :inherited-members: 145 :members: 146 :undoc-members: 147 148_c_v_a_r 149-------- 150 151.. automodule:: fontTools.ttLib.tables._c_v_a_r 152 :inherited-members: 153 :members: 154 :undoc-members: 155 156_c_v_t 157------ 158 159.. automodule:: fontTools.ttLib.tables._c_v_t 160 :inherited-members: 161 :members: 162 :undoc-members: 163 164_f_e_a_t 165-------- 166 167.. automodule:: fontTools.ttLib.tables._f_e_a_t 168 :inherited-members: 169 :members: 170 :undoc-members: 171 172_f_p_g_m 173-------- 174 175.. automodule:: fontTools.ttLib.tables._f_p_g_m 176 :inherited-members: 177 :members: 178 :undoc-members: 179 180_f_v_a_r 181-------- 182 183.. automodule:: fontTools.ttLib.tables._f_v_a_r 184 :inherited-members: 185 :members: 186 :undoc-members: 187 188_g_a_s_p 189-------- 190 191.. automodule:: fontTools.ttLib.tables._g_a_s_p 192 :inherited-members: 193 :members: 194 :undoc-members: 195 196 197_g_c_i_d 198-------- 199 200.. automodule:: fontTools.ttLib.tables._g_c_i_d 201 :inherited-members: 202 :members: 203 :undoc-members: 204 205_g_l_y_f 206-------- 207 208.. automodule:: fontTools.ttLib.tables._g_l_y_f 209 :inherited-members: 210 :members: 211 :undoc-members: 212 213_g_v_a_r 214-------- 215 216.. automodule:: fontTools.ttLib.tables._g_v_a_r 217 :inherited-members: 218 :members: 219 :undoc-members: 220 221_h_d_m_x 222-------- 223 224.. automodule:: fontTools.ttLib.tables._h_d_m_x 225 :inherited-members: 226 :members: 227 :undoc-members: 228 229_h_e_a_d 230-------- 231 232.. automodule:: fontTools.ttLib.tables._h_e_a_d 233 :inherited-members: 234 :members: 235 :undoc-members: 236 237_h_h_e_a 238-------- 239 240.. automodule:: fontTools.ttLib.tables._h_h_e_a 241 :inherited-members: 242 :members: 243 :undoc-members: 244 245_h_m_t_x 246-------- 247 248.. automodule:: fontTools.ttLib.tables._h_m_t_x 249 :inherited-members: 250 :members: 251 :undoc-members: 252 253_k_e_r_n 254-------- 255 256.. automodule:: fontTools.ttLib.tables._k_e_r_n 257 :inherited-members: 258 :members: 259 :undoc-members: 260 261_l_c_a_r 262-------- 263 264.. automodule:: fontTools.ttLib.tables._l_c_a_r 265 :inherited-members: 266 :members: 267 :undoc-members: 268 269_l_o_c_a 270-------- 271 272.. automodule:: fontTools.ttLib.tables._l_o_c_a 273 :inherited-members: 274 :members: 275 :undoc-members: 276 277_l_t_a_g 278-------- 279 280.. automodule:: fontTools.ttLib.tables._l_t_a_g 281 :inherited-members: 282 :members: 283 :undoc-members: 284 285_m_a_x_p 286-------- 287 288.. automodule:: fontTools.ttLib.tables._m_a_x_p 289 :inherited-members: 290 :members: 291 :undoc-members: 292 293_m_e_t_a 294-------- 295 296.. automodule:: fontTools.ttLib.tables._m_e_t_a 297 :inherited-members: 298 :members: 299 :undoc-members: 300 301_m_o_r_t 302-------- 303 304.. automodule:: fontTools.ttLib.tables._m_o_r_t 305 :inherited-members: 306 :members: 307 :undoc-members: 308 309 310_m_o_r_x 311-------- 312 313.. automodule:: fontTools.ttLib.tables._m_o_r_x 314 :inherited-members: 315 :members: 316 :undoc-members: 317 318_n_a_m_e 319-------- 320 321.. automodule:: fontTools.ttLib.tables._n_a_m_e 322 :inherited-members: 323 :members: 324 :undoc-members: 325 326_o_p_b_d 327-------- 328 329.. automodule:: fontTools.ttLib.tables._o_p_b_d 330 :inherited-members: 331 :members: 332 :undoc-members: 333 334_p_o_s_t 335-------- 336 337.. automodule:: fontTools.ttLib.tables._p_o_s_t 338 :inherited-members: 339 :members: 340 :undoc-members: 341 342_p_r_e_p 343-------- 344 345.. automodule:: fontTools.ttLib.tables._p_r_e_p 346 :inherited-members: 347 :members: 348 :undoc-members: 349 350 351_p_r_o_p 352-------- 353 354.. automodule:: fontTools.ttLib.tables._p_r_o_p 355 :inherited-members: 356 :members: 357 :undoc-members: 358 359_s_b_i_x 360-------- 361 362.. automodule:: fontTools.ttLib.tables._s_b_i_x 363 :inherited-members: 364 :members: 365 :undoc-members: 366 367_t_r_a_k 368-------- 369 370.. automodule:: fontTools.ttLib.tables._t_r_a_k 371 :inherited-members: 372 :members: 373 :undoc-members: 374 375_v_h_e_a 376-------- 377 378.. automodule:: fontTools.ttLib.tables._v_h_e_a 379 :inherited-members: 380 :members: 381 :undoc-members: 382 383_v_m_t_x 384-------- 385 386.. automodule:: fontTools.ttLib.tables._v_m_t_x 387 :inherited-members: 388 :members: 389 :undoc-members: 390 391asciiTable 392---------- 393 394.. automodule:: fontTools.ttLib.tables.asciiTable 395 :inherited-members: 396 :members: 397 :undoc-members: 398 399B_A_S_E_ 400-------- 401 402.. automodule:: fontTools.ttLib.tables.B_A_S_E_ 403 :inherited-members: 404 :members: 405 :undoc-members: 406 407BitmapGlyphMetrics 408------------------ 409 410.. automodule:: fontTools.ttLib.tables.BitmapGlyphMetrics 411 :inherited-members: 412 :members: 413 :undoc-members: 414 415C_B_D_T_ 416-------- 417 418.. automodule:: fontTools.ttLib.tables.C_B_D_T_ 419 :inherited-members: 420 :members: 421 :undoc-members: 422 423C_B_L_C_ 424-------- 425 426.. automodule:: fontTools.ttLib.tables.C_B_L_C_ 427 :inherited-members: 428 :members: 429 :undoc-members: 430 431C_F_F_ 432------ 433 434.. automodule:: fontTools.ttLib.tables.C_F_F_ 435 :inherited-members: 436 :members: 437 :undoc-members: 438 439C_F_F__2 440-------- 441 442.. automodule:: fontTools.ttLib.tables.C_F_F__2 443 :inherited-members: 444 :members: 445 :undoc-members: 446 447C_O_L_R_ 448-------- 449 450.. automodule:: fontTools.ttLib.tables.C_O_L_R_ 451 :inherited-members: 452 :members: 453 :undoc-members: 454 455C_P_A_L_ 456-------- 457 458.. automodule:: fontTools.ttLib.tables.C_P_A_L_ 459 :inherited-members: 460 :members: 461 :undoc-members: 462 463D_S_I_G_ 464-------- 465 466.. automodule:: fontTools.ttLib.tables.D_S_I_G_ 467 :inherited-members: 468 :members: 469 :undoc-members: 470 471DefaultTable 472------------ 473 474.. automodule:: fontTools.ttLib.tables.DefaultTable 475 :inherited-members: 476 :members: 477 :undoc-members: 478 479E_B_D_T_ 480-------- 481 482.. automodule:: fontTools.ttLib.tables.E_B_D_T_ 483 :inherited-members: 484 :members: 485 :undoc-members: 486 487E_B_L_C_ 488-------- 489 490.. automodule:: fontTools.ttLib.tables.E_B_L_C_ 491 :inherited-members: 492 :members: 493 :undoc-members: 494 495F__e_a_t 496-------- 497 498.. automodule:: fontTools.ttLib.tables.F__e_a_t 499 :inherited-members: 500 :members: 501 :undoc-members: 502 503 504F_F_T_M_ 505-------- 506 507.. automodule:: fontTools.ttLib.tables.F_F_T_M_ 508 :inherited-members: 509 :members: 510 :undoc-members: 511 512 513G__l_a_t 514-------- 515 516.. automodule:: fontTools.ttLib.tables.G__l_a_t 517 :inherited-members: 518 :members: 519 :undoc-members: 520 521G__l_o_c 522-------- 523 524.. automodule:: fontTools.ttLib.tables.G__l_o_c 525 :inherited-members: 526 :members: 527 :undoc-members: 528 529G_D_E_F_ 530-------- 531 532.. automodule:: fontTools.ttLib.tables.G_D_E_F_ 533 :inherited-members: 534 :members: 535 :undoc-members: 536 537G_M_A_P_ 538-------- 539 540.. automodule:: fontTools.ttLib.tables.G_M_A_P_ 541 :inherited-members: 542 :members: 543 :undoc-members: 544 545G_P_K_G_ 546-------- 547 548.. automodule:: fontTools.ttLib.tables.G_P_K_G_ 549 :inherited-members: 550 :members: 551 :undoc-members: 552 553G_P_O_S_ 554-------- 555 556.. automodule:: fontTools.ttLib.tables.G_P_O_S_ 557 :inherited-members: 558 :members: 559 :undoc-members: 560 561G_S_U_B_ 562-------- 563 564.. automodule:: fontTools.ttLib.tables.G_S_U_B_ 565 :inherited-members: 566 :members: 567 :undoc-members: 568 569grUtils 570------- 571 572.. automodule:: fontTools.ttLib.tables.grUtils 573 :inherited-members: 574 :members: 575 :undoc-members: 576 577H_V_A_R_ 578-------- 579 580.. automodule:: fontTools.ttLib.tables.H_V_A_R_ 581 :inherited-members: 582 :members: 583 :undoc-members: 584 585J_S_T_F_ 586-------- 587 588.. automodule:: fontTools.ttLib.tables.J_S_T_F_ 589 :inherited-members: 590 :members: 591 :undoc-members: 592 593L_T_S_H_ 594-------- 595 596.. automodule:: fontTools.ttLib.tables.L_T_S_H_ 597 :inherited-members: 598 :members: 599 :undoc-members: 600 601M_A_T_H_ 602-------- 603 604.. automodule:: fontTools.ttLib.tables.M_A_T_H_ 605 :inherited-members: 606 :members: 607 :undoc-members: 608 609M_E_T_A_ 610-------- 611 612.. automodule:: fontTools.ttLib.tables.M_E_T_A_ 613 :inherited-members: 614 :members: 615 :undoc-members: 616 617M_V_A_R_ 618-------- 619 620.. automodule:: fontTools.ttLib.tables.M_V_A_R_ 621 :inherited-members: 622 :members: 623 :undoc-members: 624 625O_S_2f_2 626-------- 627 628.. automodule:: fontTools.ttLib.tables.O_S_2f_2 629 :inherited-members: 630 :members: 631 :undoc-members: 632 633otBase 634------ 635 636.. automodule:: fontTools.ttLib.tables.otBase 637 :inherited-members: 638 :members: 639 :undoc-members: 640 641otConverters 642------------ 643 644.. automodule:: fontTools.ttLib.tables.otConverters 645 :inherited-members: 646 :members: 647 :undoc-members: 648 649otData 650------ 651 652.. automodule:: fontTools.ttLib.tables.otData 653 :inherited-members: 654 :members: 655 :undoc-members: 656 657otTables 658-------- 659 660.. automodule:: fontTools.ttLib.tables.otTables 661 :inherited-members: 662 :members: 663 :undoc-members: 664 665S__i_l_f 666-------- 667 668.. automodule:: fontTools.ttLib.tables.S__i_l_f 669 :inherited-members: 670 :members: 671 :undoc-members: 672 673S__i_l_l 674-------- 675 676.. automodule:: fontTools.ttLib.tables.S__i_l_l 677 :inherited-members: 678 :members: 679 :undoc-members: 680 681S_I_N_G_ 682-------- 683 684.. automodule:: fontTools.ttLib.tables.S_I_N_G_ 685 :inherited-members: 686 :members: 687 :undoc-members: 688 689S_T_A_T_ 690-------- 691 692.. automodule:: fontTools.ttLib.tables.S_T_A_T_ 693 :inherited-members: 694 :members: 695 :undoc-members: 696 697S_V_G_ 698------ 699 700.. automodule:: fontTools.ttLib.tables.S_V_G_ 701 :inherited-members: 702 :members: 703 :undoc-members: 704 705sbixGlyph 706--------- 707 708.. automodule:: fontTools.ttLib.tables.sbixGlyph 709 :inherited-members: 710 :members: 711 :undoc-members: 712 713sbixStrike 714---------- 715 716.. automodule:: fontTools.ttLib.tables.sbixStrike 717 :inherited-members: 718 :members: 719 :undoc-members: 720 721T_S_I__0 722-------- 723 724.. automodule:: fontTools.ttLib.tables.T_S_I__0 725 :inherited-members: 726 :members: 727 :undoc-members: 728 729T_S_I__1 730-------- 731 732.. automodule:: fontTools.ttLib.tables.T_S_I__1 733 :inherited-members: 734 :members: 735 :undoc-members: 736 737T_S_I__2 738-------- 739 740.. automodule:: fontTools.ttLib.tables.T_S_I__2 741 :inherited-members: 742 :members: 743 :undoc-members: 744 745T_S_I__3 746-------- 747 748.. automodule:: fontTools.ttLib.tables.T_S_I__3 749 :inherited-members: 750 :members: 751 :undoc-members: 752 753T_S_I__5 754-------- 755 756.. automodule:: fontTools.ttLib.tables.T_S_I__5 757 :inherited-members: 758 :members: 759 :undoc-members: 760 761T_S_I_B_ 762-------- 763 764.. automodule:: fontTools.ttLib.tables.T_S_I_B_ 765 :inherited-members: 766 :members: 767 :undoc-members: 768 769T_S_I_C_ 770-------- 771 772.. automodule:: fontTools.ttLib.tables.T_S_I_C_ 773 :inherited-members: 774 :members: 775 :undoc-members: 776 777T_S_I_D_ 778-------- 779 780.. automodule:: fontTools.ttLib.tables.T_S_I_D_ 781 :inherited-members: 782 :members: 783 :undoc-members: 784 785T_S_I_J_ 786-------- 787 788.. automodule:: fontTools.ttLib.tables.T_S_I_J_ 789 :inherited-members: 790 :members: 791 :undoc-members: 792 793T_S_I_P_ 794-------- 795 796.. automodule:: fontTools.ttLib.tables.T_S_I_P_ 797 :inherited-members: 798 :members: 799 :undoc-members: 800 801T_S_I_S_ 802-------- 803 804.. automodule:: fontTools.ttLib.tables.T_S_I_S_ 805 :inherited-members: 806 :members: 807 :undoc-members: 808 809T_S_I_V_ 810-------- 811 812.. automodule:: fontTools.ttLib.tables.T_S_I_V_ 813 :inherited-members: 814 :members: 815 :undoc-members: 816 817T_T_F_A_ 818-------- 819 820.. automodule:: fontTools.ttLib.tables.T_T_F_A_ 821 :inherited-members: 822 :members: 823 :undoc-members: 824 825ttProgram 826--------- 827 828.. automodule:: fontTools.ttLib.tables.ttProgram 829 :inherited-members: 830 :members: 831 :undoc-members: 832 833TupleVariation 834-------------- 835 836.. automodule:: fontTools.ttLib.tables.TupleVariation 837 :inherited-members: 838 :members: 839 :undoc-members: 840 841V_D_M_X_ 842-------- 843 844.. automodule:: fontTools.ttLib.tables.V_D_M_X_ 845 :inherited-members: 846 :members: 847 :undoc-members: 848 849V_O_R_G_ 850-------- 851 852.. automodule:: fontTools.ttLib.tables.V_O_R_G_ 853 :inherited-members: 854 :members: 855 :undoc-members: 856 857V_V_A_R_ 858-------- 859 860.. automodule:: fontTools.ttLib.tables.V_V_A_R_ 861 :inherited-members: 862 :members: 863 :undoc-members: 864 865 866