Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | update freetype to version 2.7 |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
77f9a90216a0ddc5e663d40cef353b72 |
User & Date: | chw 2016-11-06 15:45:01.720 |
Context
2016-11-06
| ||
22:14 | turn off ssl3 in tkchat check-in: 2fb4e30853 user: chw tags: trunk | |
15:45 | update freetype to version 2.7 check-in: 77f9a90216 user: chw tags: trunk | |
12:11 | small tweak to make BLT compile on aarch64 check-in: c38ed56751 user: chw tags: trunk | |
Changes
Changes to jni/freetype/CMakeLists.txt.
︙ | ︙ | |||
149 150 151 152 153 154 155 | endif () set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)") set(BUILD_SHARED_LIBS ON) endif () set(VERSION_MAJOR "2") | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | endif () set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)") set(BUILD_SHARED_LIBS ON) endif () set(VERSION_MAJOR "2") set(VERSION_MINOR "7") set(VERSION_PATCH "0") set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) set(SHARED_LIBRARY_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}) # Compiler definitions for building the library add_definitions(-DFT2_BUILD_LIBRARY) |
︙ | ︙ |
Changes to jni/freetype/ChangeLog.
|
| | | | | < < < | | | > | | > < | < < < < < < < < < < < < < < < < < < < < < < < < < < > < | < < < | < < > < | < > > < | | < | < < | < < < | < < < < < < < < < < < < < < < < < | < < | < | < < < | | | > | | < | | < < < | < < < < < | < | < < < | < < | < < < | < | < < < < < < < | < < | < | | | < > | < | | | < < > | < | < < < | < | < < < < < < < | < | < < < < < | < | < | < < < | < | < < | < < | < | < < < | < < < < < < < < < < < < < < < < | | | | < | | < | < | < | < | < < < < | < > > < < | < | < < | < | < < < < | < | < < < < < < < | | < | | | | < | < | < | | | < < | < | < | > | | < < < < < < | < < < < < < | < | < < < < < | < | > | < < < < < < < < < < < | < > | < | | < | < < | < < | < < | < < < | < < < | < | < < < | < > < < < > | | < | < | < < < < < | < | < | < | | < | | < | < | < | < < < | < < < < < < < < < < < > < < < < < < < < < < < < < < > < > < > < < > < < < < > > > > > < < > < > | < < < > < < > | < < < < < < < < < < < > < < | < < | < < < < < < < | < > < | | < < | < > > < < < | | | < < | < | < < < < < | < | < < < < < | < | < < < < < | < < > | | < < | < < < | < | < < < | < | < < < < < < < < < < < < < < < | | | < < > > | | < | > | < | < | < < < < < | < < < | < < < | < | < | < < | < < < < < | < | < < < < < < < < < < < < < > | < | < < | < | > | > < | < < < < > | | < | < < | < < | < < > > | < | < < < | < < < < < < | < | < < < < < < < < < < < < < | < < < < > > | < | < < < | < < | < | < | < | < < < < | < | < < | < | < < < < < < < | < < < | < < < | < < | < < | < | < > < > < | < | | < | < < | < < < | < | < < < < < | < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < | < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | > < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < | < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | < < < < < < < < < < < < < < < < < < < < < | < | < < < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < | < < | < | < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < | < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < | < | < | < | < | < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < | < | < | < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 | 2016-09-08 Werner Lemberg <wl@gnu.org> * Version 2.7 released. ======================= Tag sources with `VER-2-7'. * docs/VERSION.TXT: Add entry for version 2.7. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.6.5/2.7/, s/265/27/. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 7. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.raw (version_info): Set to 18:6:12. * CMakeLists.txt (VERSION_MINOR): Set to 7. (VERSION_PATCH): Set to 0. * docs/CHANGES: Updated. 2016-09-08 Werner Lemberg <wl@gnu.org> * src/truetype/ttinterp.c: Include `ttgxvar.h'. This fixes the `multi' build. 2016-09-08 Werner Lemberg <wl@gnu.org> [autofit] Another improvement to Armenian support. Suggested by Hrant H Papazian <hpapazian@gmail.com>. * src/autofit/afscript.h: Use better suited characters to derive default stem widths. 2016-09-07 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_hline): Microptimize. 2016-09-06 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Operate in absolute bitmap coordinates. Simpler bitmap addressing improves performance by 1.5%. * src/smooth/ftgrays.c (gray_TWorker): Remove count fields. (gray_dump_cells, gray_find_cell, gray_set_cell, gray_hline, gray_sweep, gray_convert_glyph, gray_raster_render): Updated. 2016-09-06 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Improve contour start (take 2). * src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly instead of... (gray_start_cell): ... this function, which is removed. (gray_convert_glyph): Make initial y-coordinate invalid. 2016-09-06 Werner Lemberg <wl@gnu.org> [type1] MM fonts support exactly zero named instances (#48748). * src/type1/t1load.c (T1_Get_MM_Var): Set `num_namedstyles' to zero. 2016-09-06 Jonathan Kew <jfkthame@gmail.com> [cff] Fix uninitialized memory. Problem reported as https://bugzilla.mozilla.org/show_bug.cgi?id=1270288 * src/cff/cf2interp.c (cf2_interpT2CharString): Initialize `storage' array to handle a `get' opcode without a previous `put'. 2016-09-05 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_move_to, gray_start_cell): Revert. 2016-09-05 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Improve contour start. * src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly instead of... (gray_start_cell): ... this function, which is removed. 2016-09-05 Werner Lemberg <wl@gnu.org> [cff] Fix memory initialization. * src/cff/cf2stack.c (cf2_stack_init): Use `FT_NEW'. The `Q' variants of FreeType's memory allocation macros don't do zeroing. 2016-09-05 Werner Lemberg <wl@gnu.org> [ftrandom] Minor improvements. * src/tools/ftrandom/ftrandom.c (_XOPEN_SOURCE): New macro, set to 500. * src/tools/ftrandom/Makefile (CFLAGS): Split off include directories to ... (INCLUDES): ... this new variable. (LDFLAGS): New variable. (ftrandom.o, ftrandom): Updated. 2016-09-05 Werner Lemberg <wl@gnu.org> [autofit] Improve Armenian support. Thanks to Hrant H Papazian <hpapazian@gmail.com> for help. * src/autofit/afblue.dat (AF_BLUE_STRING_ARMENIAN_*): Improve selection of characters. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. 2016-09-04 Werner Lemberg <wl@gnu.org> [ftrandom] Improve Makefile. It now supports both a normal build (`./configure && make') and a development build (`make devel'). * src/tools/ftrandom/Makefile (VPATH): Set it so that `libfreetype.a' gets searched in both `objs' (for the development build) and `objs/.libs' (for a normal build which uses libtool). (LIBS): Add missing libraries. (ftrandom.o): New rule. (ftrandom): Use automatic variables. 2016-09-03 Werner Lemberg <wl@gnu.org> [truetype] More fixes for handling of GX deltas. Problems reported by Bob Taylor <Bob.Taylor@monotype.com>. * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix rough sanity test for glyph variation array header size. Always set stream position before reading packed x and y deltas. Fix thinko w.r.t. `localpoints' array. 2016-09-03 Werner Lemberg <wl@gnu.org> [ftrandom] Various fixes. * src/tools/ftrandom/ftrandom.c (GOOD_FONTS_DIR): Provide better default. (error_fraction): Make it of type `double' to work as advertized – this was completely broken. Update all related code. (error_count, fcnt): Make it unsigned to fix compiler warnings. Update all related code. (fontlist): Change `len' member to `long' to fix compiler warnings. (FT_MoveTo, FT_LineTo, FT_ConicTo, FT_CubicTo, abort_test): Tag unused variables. (TestFace, FindFonts, copyfont, do_test): Fix compiler warnings. (ExecuteTest): Ditto. Call `FT_Done_FreeType'. (getErrorCnt): Replace `ceil' with an ordinary cast to `unsigned int'. (usage): Improve output. (main): Fix compiler warnings. * src/tools/ftrandom/README: Updated. 2016-09-03 Werner Lemberg <wl@gnu.org> [base] Avoid negative bitmap stroke dimensions (#48985). * src/base/ftobjs.c (FT_Open_Face): Check whether negation was actually successful. For example, this can fail for value -32768 if the type is `signed short'. If there are problems, disable the stroke. 2016-09-03 Werner Lemberg <wl@gnu.org> [cff] Avoid null pointer passed to FT_MEM_COPY (#48984). * src/cff/cffload.c (cff_index_get_name): Check `byte_len'. 2016-09-02 Werner Lemberg <wl@gnu.org> [unix] Enable 64bit support in file system access (#48962). * builds/unix/configure.raw: Call `AC_SYS_LARGEFILE'. 2016-09-02 Werner Lemberg <wl@gnu.org> [sfnt] Avoid left shift of negative value (#48980). * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Use unsigned constant. 2016-09-02 Werner Lemberg <wl@gnu.org> * src/smooth/ftgrays.c (gray_hline): Fix clang compiler warnings. 2016-09-02 Werner Lemberg <wl@gnu.org> Some preparations for the next release. * include/freetype/config/ftoption.h (TT_CONFIG_OPTION_SUBPIXEL_HINTING): Enable. * docs/CHANGES: Updated. 2016-09-01 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Simplify span rendering more. It turns out that there is significant cost associated with `FT_Span' creation and calls to `gray_render_span' because it happerns so frequently. This removes these steps from our internal use but leaves it alone for `FT_RASTER_FLAG_DIRECT" to preserve API. The speed gain is about 5%. * src/smooth/ftgrays.c (gray_render_span): Removed. The code is migrated to... (gray_hline): ... here. 2016-08-30 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Streamline pixmap drawing a bit more. Zero coverage is unlikely (1 out of 256) to warrant checking. This gives 0.5% speed improvement in rendering simple glyphs. * src/smooth/ftgrays.c (gray_hline, gray_render_span): Remove checks. 2016-08-29 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Streamline pixmap drawing. This gives 2% speed improvement in rendering simple glyphs. * src/smooth/ftgrays.c (TPixmap): Reduced pixmap descriptor with a pointer to its bottom-left and pitch to be used in... (gray_TWorker): ... here. (gray_render_span): Move pixmap flow check from here... (gray_raster_render): .. to here. 2016-08-27 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Reduce stack of band boundaries. * src/smooth/ftgrays.c (gray_TBand): Removed. (gray_convert_glyph): Updated to stack band boundaries concisely. 2016-08-26 Werner Lemberg <wl@gnu.org> * src/cid/cidload.c (cid_face_open): Improve handling of `SDBytes'. 2016-08-26 Werner Lemberg <wl@gnu.org> [cid] Fix commit from 2016-05-16. * src/cid/cidparse.c (cid_parser_new): Fix off-by-one errors. 2016-08-26 Werner Lemberg <wl@gnu.org> [sfnt] Cache offset and size to bitmap data table. This commit avoids `EBDT' and friends being looked up again and again while loading a single embedded bitmap. * include/freetype/internal/tttypes.h (TT_FaceRec) [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New fields `ebdt_start' and `ebdt_size'. * src/sfnt/ttsbit.c (tt_sbit_decoder_init): Move table lookup to ... (tt_face_load_sbit): ... this function; also store the table size and offset. 2016-08-26 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_raster_render): Minor tweaks. 2016-08-26 Werner Lemberg <wl@gnu.org> [type1] Fix heap buffer overflow. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36 * src/type1/t1load.c (parse_charstrings): Reject fonts that don't contain glyph names. 2016-08-25 Werner Lemberg <wl@gnu.org> [sfnt] Fix previous commit (#48901). * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Thinkos. 2016-08-25 Werner Lemberg <wl@gnu.org> [sfnt] Speed up handling of invalid format 4 cmaps. * src/sfnt/ttcmap.c (tt_cmap4_next, tt_cmap4_char_map_binary): Add tests for `num_glyph' from `tt_cmap4_char_map_linear'. 2016-08-25 Werner Lemberg <wl@gnu.org> * include/freetype/internal/ftdriver.h: Remove unused typedefs. 2016-08-22 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Simplify span rendering. This removes unnecessary complexity of span merging and buffering. Instead, the spans are rendered as they come, speeding up the rendering by about 5% as a result. * src/smooth/ftgrays.c [FT_MAX_GRAY_SPANS]: Macro removed. (gray_TWorker): Remove span buffer and related fields. (gray_sweep, gray_hline): Updated. * include/freetype/ftimage.h: Remove documentation note about `FT_MAX_GRAY_SPANS', which was never in `ftoption.h' and is now gone. 2016-08-16 Werner Lemberg <wl@gnu.org> [truetype] Fix `MPS' instruction. According to Greg Hitchcock, MPS in DWrite really returns the point size. * src/truetype/ttobjs.h (TT_SizeRec): Add `point_size' member. * src/truetype/ttdriver.c (tt_size_request): Set `point_size'. * src/truetype/ttinterp.h (TT_ExecContextRec): Add `pointSize' member. * src/truetype/ttinterp.c (TT_Load_Context): Updated. (Ins_MPS): Fix instruction. 2016-08-16 Werner Lemberg <wl@gnu.org> [lzw] Optimize last commit. * src/lzw/ftzopen.c (ft_lzwstate_get_code): Move check into conditional clause. 2016-08-16 Werner Lemberg <wl@gnu.org> [lzw] Avoid invalid left shift. Reported as https://bugzilla.mozilla.org/show_bug.cgi?id=1295366 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Limit `num_bits'. 2016-08-16 Werner Lemberg <wl@gnu.org> [lzw] Avoid buffer overrun. Reported as https://bugzilla.mozilla.org/show_bug.cgi?id=1273283 * src/lzw/ftzopen.c (ft_lzwstate_refill): Ensure `buf_size' doesn't underflow. 2016-08-16 Werner Lemberg <wl@gnu.org> [truetype] Fix compiler warning. * src/truetype/ttgload.c (load_truetype_glyph): Add cast. 2016-08-13 Werner Lemberg <wl@gnu.org> [winfonts] Avoid zero bitmap width and height. Reported as https://bugzilla.mozilla.org/show_bug.cgi?id=1272173 * src/winfonts/winfnt.c (FNT_Face_Init): Check zero pixel height. (FNT_Load_Glyph): Check for zero pitch. 2016-08-11 Alexei Podtelezhnikov <apodtele@gmail.com> * src/truetype/ttinterp.c (Pop_Push_Count): Revert changes. 2016-08-11 Alexei Podtelezhnikov <apodtele@gmail.com> * src/truetype/ttinterp.c (TT_RunIns): Minor and formatting. 2016-08-11 Alexei Podtelezhnikov <apodtele@gmail.com> * src/truetype/ttinterp.c (Pop_Push_Count): Fix some entries. 2016-08-10 Peter Klotz <Peter.Klotz@ith-icoserve.com> * src/smooth/ftgrays.c (gray_hline): Fix uninitialized access. 2016-08-10 Werner Lemberg <wl@gnu.org> [sfnt] Use correct type for `italicAngle' field (#48732). * src/sfnt/ttload.c (tt_face_load_post): Fix types. 2016-08-06 Jon Spencer <jon@jonspencer.ca> [sfnt] Fix `FT_Get_Advance' for bitmap strikes. `FT_Get_Advance' returns 0 for bitmap fonts. It first gets the advance value from the font table and then scales it by the `font->size->metrics->x_scale' field. But `FT_Select_Size' doesn't set that value for bitmap fonts and the advance gets scaled to zero. Taken from https://github.com/behdad/harfbuzz/issues/252 * src/sfnt/ttsbit.c (tt_face_load_strike_metrics) <TT_SBIT_TABLE_TYPE_EBLC>: Set scale values. 2016-08-06 Behdad Esfahbod <behdad@behdad.org> [truetype] Fix GX variation handling of composites. * src/truetype/ttgload.c (load_truetype_glyph) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check `ARGS_ARE_XY_VALUES' flag. 2016-08-05 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor refactoring. * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line): Updated. 2016-07-29 Werner Lemberg <wl@gnu.org> [sfnt, truetype] Don't abort on invalid `maxComponentDepth'. Since 2016-05-16 we detect infinite recursion directly. * src/sfnt/ttload.c (tt_face_load_maxp): Don't adjust `maxComponentDepth'. * src/truetype/ttgload.c (load_truetype_glyph): Don't abort if `maxComponentDepth' is not valid. Instead, simply adjust its value and emit a tracing message. 2016-07-26 Werner Lemberg <wl@gnu.org> * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Minor. No functional change. 2016-07-22 Hin-Tak Leung <htl10@users.sourceforge.net> [truetype] Record the end of IDEFs. To match the logic in FDEF. The value of the end is only used for bound-checking in `Ins_JMPR', so it may not have been obvious that it was not recorded. Tested (as part of Font Validator 2.0) all the fonts on Fedora and did not see any change. * src/truetype/ttinterp.c (Ins_IDEF): Updated. 2016-07-19 Werner Lemberg <wl@gnu.org> [truetype] Sanitizer fix, second try. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary tests and use only one slot more. 2016-07-19 Werner Lemberg <wl@gnu.org> [truetype] Sanitizer fix. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array to fix nested loops. 2016-07-18 Werner Lemberg <wl@gnu.org> [truetype] Make GETDATA work only for GX fonts. * src/truetype/ttinterp.c (opcode_name): Updated. (Ins_GETDATA): Only define for `TT_CONFIG_OPTION_GX_VAR_SUPPORT'. (TT_RunIns): Updated. 2016-07-17 Werner Lemberg <wl@gnu.org> [truetype] Add support for Apple's GETDATA[], opcode 0x92 bytecode instruction. It always returns 17, and we have absolutely no idea what it is good for... * src/truetype/ttinterp.c (Pop_Push_Count, opcode_name): Updated. (Ins_GETDATA): New function. (TT_RunIns): Add it. 2016-07-16 Werner Lemberg <wl@gnu.org> [truetype] Add bytecode support for GX variation fonts. This commit implements undocumented (but confirmed) stuff from Apple's old bytecode engine. GETVARIATION[], opcode 0x91 This opcode pushes normalized variation coordinates for all axes onto the stack (in 2.14 format). Coordinate of first axis gets pushed first. GETINFO[], selector bit 3 If GX variation support is enabled, bit 10 of the result is set to 1. * src/truetype/ttinterp.c: Include FT_MULTIPLE_MASTERS_H. (opcode_name) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated. (Ins_GETINFO) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle selector bit 3, checking support for variation glyph hinting. (Ins_GETVARIATION) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New function to implement opcode 0x91. (TT_RunIns) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle opcode 0x91. 2016-07-16 Werner Lemberg <wl@gnu.org> [truetype] Fix GETINFO bytecode instruction. * src/truetype/ttinterp.c (Ins_GETINFO): Fix return value for stretching information. 2016-07-16 Behdad Esfahbod <behdad@behdad.org> [truetype] Make all glyphs in `Zycon' GX font work. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary tests. 2016-07-16 Werner Lemberg <wl@gnu.org> [truetype] Fix GX delta tracing. * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Trace relative point movements. 2016-07-16 Behdad Esfahbod <behdad@behdad.org> [truetype] More fixes for GX. This finally fixes the rendering of the cyclist and the lizard in the `Zycon' font. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): `first' point index is always cumulative. (tt_handle_deltas): Rename to... (tt_interpolate_deltas): ... This. Add new parameter for output point array. Update caller. (TT_Vary_Apply_Glyph_Deltas): Add `points_out' array; it now holds the intermediate results of `tt_interpolate_deltas' that are to be added to `outline->points'. 2016-07-15 Werner Lemberg <wl@gnu.org> * src/autofit/aflatin.c (af_latin_hints_compute_segments): Thinko. `max_pos' is always larger than `min_pos' so `FT_ABS' is not needed. Reported by Alexei. 2016-07-16 Nikolaus Waxweiler <madigens@gmail.com> * src/truetype/ttinterp.c (Ins_MIRP): Fix copy-and-paste error. Problem reported by Hin-Tak Leung. 2016-07-15 Werner Lemberg <wl@gnu.org> [autofit] Update and improve segment and edge tracing. * src/autofit/afhints.c (af_glyph_hints_dump_segments): Trace `delta' also. Don't show first point of segment as a replacement for `pos'; this is (a) misleading, since the difference to `pos' can be almost arbitrarily large in corner cases, and (b) it is better to have all segment data in font units instead of a single value given in output space coordinates. Improve layout. (af_glyph_hints_dump_edges): Show px->units and units->px conversion values for convenience. Improve layout. 2016-07-15 Werner Lemberg <wl@gnu.org> [autofit] For edges, reject segments wider than 1px (#41334). * src/autofit/afhints.h (AF_SegmentRec): New member `delta'. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Compute `delta'. (af_latin_hints_compute_edges): Reject segments with a delta larger than 0.5px. 2016-07-14 Werner Lemberg <wl@gnu.org> * include/freetype/freetype.h (FT_IS_NAMED_INSTANCE): New macro. 2016-07-14 Werner Lemberg <wl@gnu.org> [sfnt] Fix `face_index' value in `FT_Face' for named instances. * src/sfnt/sfobjc.s (sfnt_init_face): Don't strip off higher 16bits. 2016-07-14 Werner Lemberg <wl@gnu.org> * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix tracing. 2016-07-14 Behdad Esfahbod <behdad@behdad.org> [truetype] Fix gxvar delta interpolation. The coordinates of the base font should be used for interpolation purposes, NOT the current points (i.e., the result of accumulation of previous deltas). * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Initialize `points_org' before looping over all tuples. ---------------------------------------------------------------------------- Copyright 2016 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, modified, and distributed under the terms of the FreeType project license, LICENSE.TXT. By continuing to use, modify, or distribute this file you indicate that you have read the license and understand and accept it fully. Local Variables: version-control: never coding: utf-8 End: |
Added jni/freetype/ChangeLog.26.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 | 2016-07-12 Werner Lemberg <wl@gnu.org> * Version 2.6.5 released. ========================= Tag sources with `VER-2-6-5'. This commit immediately follows `[mac] Fix ftexport.sym target in Jamfile.' on a separate branch, which was then merged with master after the release. * include/freetype/config/ftoption.h (TT_CONFIG_OPTION_SUBPIXEL_HINTING): Comment out. * docs/VERSION.TXT: Add entry for version 2.6.5. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.6.4/2.6.5/, s/264/265/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5. * builds/unix/configure.raw (version_info): Set to 18:5:12. * CMakeLists.txt (VERSION_PATCH): Set to 5. * docs/CHANGES: Updated. 2016-07-11 Werner Lemberg <wl@gnu.org> Conditionally compile environment support. * include/freetype/internal/ftobjs.h, src/autofit/afmodule.c, src/base/ftobjs.c, src/cff/cffdrivr.c, src/truetype/ttdriver.c: Decorate with `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' where necessary. 2016-07-11 Werner Lemberg <wl@gnu.org> Handle properties in `FREETYPE_PROPERTIES' environment variable. This commit covers the most important one. * src/autofit/afmodule.c (af_property_set): Handle `warping', `darkening-parameters', and `no-stem-darkening'. * src/cff/cffdrivr.c (cff_property_set): Handle `darkening-parameters', `hinting-engine', and `no-stem-darkening'. * src/truetype/ttdriver.c (tt_property_set): Handle `interpreter-version'. 2016-07-11 Werner Lemberg <wl@gnu.org> Replace calls to `atol' with `strtol'. We later on need strtol's `endptr' feature. * include/freetype/config/ftstdlib.h (ft_atol): Replace with... (ft_strtol): ... this. * src/base/ftdbgmem.c (ft_mem_debug_init): Updated. * src/cid/cidparse.c (cid_parser_new): Ditto. * src/type42/t42drivr.c (t42_get_name_index), src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto. 2016-07-10 Werner Lemberg <wl@gnu.org> Implement handling of `FREETYPE_PROPERTIES' environment variable. Recognizing properties follows in another commit. * devel/ftoption.h, include/freetype/config/ftoption.h (FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES): New macro. * include/freetype/config/ftstdlib.h (ft_getenv): New macro. * src/base/ftinit.c (ft_set_default_properties): New function to parse `FREETYPE_PROPERTIES' and calling `ft_property_string_set'. (FT_Init_FreeType): Updated. 2016-07-09 Werner Lemberg <wl@gnu.org> Add function `ft_property_string_set'. This is a preparation for handling an `FREETYPE_PROPERTIES' environment variable to control (some) driver properties. No change in functionality. * src/base/ftobjs.c (ft_property_do): Add `value_is_string' parameter. (ft_property_string_set): New function. (FT_Property_Set, FT_Property_Get): Updated. * include/freetype/internal/ftobjs.h: Updated. * include/freetype/internal/services/svprop.h (FT_Properties_SetFunc): Add `value_is_string' parameter. * src/autofit/afmodule.c (af_property_set), src/cff/cffdrivr.c (cff_property_set), src/truetype/ttdriver.c (tt_property_set): Updated, emitting an error currently if `value_is_string' is set. 2016-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> [mac] Fix ftexport.sym target in Jamfile. * Jamfile: Update the directories of the header files scanned for ftexport.sym. They were incorrect since the migration of the header files, on 2015-06-22. Either inexisting include/cache (removed on 2006-03-20) is not needed to be listed explicitly. Now ftmac.h is scanned only in the case of Mac OS & Mac OS X. 2016-07-08 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Sub-banding protocol revision. Rasterization sub-banding is utilized at large sizes while using a rather small fixed memory pool. Indeed it is possible to make an educated guess how much memory is necessary at a given size for a given glyph. It turns out that, for a large majority of European glyphs, you should store about 8 times more boundary pixels than their height. Or, vice versa, if your memory pool can hold 800 pixels the band height should be 100 and you should sub-band anything larger than that. Should you still run out of memory, FreeType bisects the band but you have wasted some time. This is what has been implemented in FreeType since the beginning. It was overlooked, however, that the top band could grow to twice the default band size leading to unnecessary memory overflows there. This commit fixes that. Now the bands are distributed more evenly and cannot exceed the default size. Now the magic number 8 is really suitable for rather simple European scripts. For complex Chinese logograms the magic number should be 13 but that is subject for another day. * src/smooth/ftgrays.c (gray_convert_glyph): Revise sub-banding protocol. 2016-07-07 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> [mac] Fix Savannah bug #48417. Mac OS X linker throws errors when `-exported_symbol_list' input file includes non-existing symbols. Reported by Ryan Schmidt. * builds/exports.mk: Exclude ftmac.h from the headers for apinames by default. Include it when ftmac.c would be compiled. 2016-07-06 Werner Lemberg <wl@gnu.org> * src/truetype/ttinterp.c (TInstruction_Function): Removed, unused. 2016-07-05 Werner Lemberg <wl@gnu.org> * Version 2.6.4 released. ========================= Tag sources with `VER-2-6-4'. * docs/VERSION.TXT: Update documentation and bump version number to 2.6.4. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.6.3/2.6.4/, s/263/264/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4. * builds/unix/configure.raw (version_info): Set to 18:4:12. * CMakeLists.txt (VERSION_PATCH): Set to 4. * docs/CHANGES: Updated. 2016-07-05 Werner Lemberg <wl@gnu.org> * src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Fix compiler warning. 2016-07-04 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Variable type revision (part 2). * src/smooth/ftgrays.c (TArea): Restore original definition as `int'. (gray_render_line) [FT_LONG64]: Updated. (gray_convert_glyph): 32-bit band bisection stack should be 32 bands. (gray_convert_glyph_inner): Trace successes and failures. 2016-07-04 Werner Lemberg <wl@gnu.org> [autofit] Handle single-point contours as segments. Doing so allows us to link them to edges – some fonts like `NotoSansGurmukhi-Regular' have such isolated points sitting exactly on other outlines. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Don't ignore one-point contours but handle them specially as one-point segments. (af_latin_hints_compute_edges): Append one-point segments to edges if possible. 2016-07-02 Werner Lemberg <wl@gnu.org> [autofit] Remove unused structure members. * src/autofit/afhints.h (AF_SegmentRec, AF_EdgeRec): Remove `num_linked'. * src/autofit/afcjk.c (af_cjk_hints_link_segments): Updated. 2016-07-02 Werner Lemberg <wl@gnu.org> [autofit] Update to Unicode 9.0.0. * src/autofit/afranges.c (af_arab_nonbase_uniranges, af_cyrl_uniranges): Add new data. 2016-07-01 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Variable type revision (part 1). This patch restores original `TCoord' definition as `int' so that the rendering pool is used more efficiently on LP64 platforms (unix). * src/smooth/ftgrays.c (gray_TWorker, TCell, gray_TBand): Switch some fields to `TCoord'. (gray_find_cell, gray_render_scanline, gray_render_line, gray_hline, gray_sweep, gray_convert_glyph): Updated. 2016-06-28 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor clean-ups. * src/smooth/ftgrays.c (gray_TWorker): Remove redundant `ycount'. (gray_sweep, gray_convert_glyph, gray_dump_cells): Updated. 2016-06-27 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor clean-ups. * src/smooth/ftgrays.c (gray_convert_glyph): Do not use volatile qualifier. (gray_raster_render): Move span initializations from here. (gray_sweep): ... to here and remove unused `target' argument. 2016-06-26 Alexei Podtelezhnikov <apodtele@gmail.com> [pcf] Fix handling of very large fonts (#47708). * src/pcf/pcfread.c (pcf_get_encodings): Make `encodingOffset' an unsigned short. Only reject `0xFFFF' as an invalid encoding offset. 2016-06-25 Werner Lemberg <wl@gnu.org> [truetype] Really fix deallocation in case of error (#47726). * src/truetype/ttgload.c (load_truetype_glyph): Thinko; initialize `outline.points' also. 2016-06-23 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Consolidate memory management. * src/smooth/ftgrays.c (gray_init_cells): Remove function. (gray_TWorker): Remove fields that become local variables. (gray_raster_render): Move rendering buffer declaration from here. (gray_convert_glyph): ... to here and update accordingly. 2016-06-22 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Consolidate boundary checks. Removing the checks from `gray_hline' shaves 1% off rendering speed. * src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_MIN' and `FT_MAX'. (gray_TWorker): No need to store `clip_box'. (gray_hline): Remove unnecessary boundary checks. (gray_convert_glyph): Move boundary checks from here. (gray_raster_render): ... to here and consolidate. 2016-06-21 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Use `FT_Outline_Get_CBox'. * src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_Outline_Get_CBox'. (gray_compute_cbox): Remove this function. (gray_convert_glyph): Update to use `FT_Outline_Get_CBox'. 2016-06-20 Werner Lemberg <wl@gnu.org> [smooth] Remove compiler warnings. * src/smooth/ftgrays.c (gray_convert_glyph): Fix reports from clang. 2016-06-20 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Sanitize memory managenent. * src/smooth/ftgrays.c (gray_convert_glyph): Cleaned up. 2016-06-18 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Remove `band_shoot' that never worked. * src/smooth/ftgrays.c (gray_TWorker): Remove `band_shoot'. (gray_convert_glyph): Updated. 2016-06-17 Alexei Podtelezhnikov <apodtele@gmail.com> [raster, smooth] Handle FT_RENDER_POOL_SIZE better. * src/raster/ftraster.c (FT_MAX_BLACK_POOL): New macro. (ft_black_render): Updated. * src/smooth/ftgrays.c (FT_MAX_GRAY_POOL): New macro. (gray_raster_render): Updated. 2016-06-16 Werner Lemberg <wl@gnu.org> * src/base/md5.c: Updated to recent version. 2016-06-14 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_hline): Optimize if-condition. 2016-06-13 Werner Lemberg <wl@gnu.org> [autofit] Add support for Cherokee script. * src/autofit/afblue.dat: Add blue zone data for Cherokee. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Cherokee standard characters. * src/autofit/afranges.c: Add Cherokee data. * src/autofit/afstyles.h: Add Cherokee data. 2016-06-09 David Capello <davidcapello@gmail.com> [cmake] Avoid modifying `ftconfig.h' and `ftoption.h' files. * CMakeLists.txt: Each time cmake is run those files are modified and the whole FreeType library is recompiled. With this change we change the files only if there are real modifications, so we can avoid recompilations. 2016-06-09 Werner Lemberg <wl@gnu.org> [bdf] Check number of properties (#48166). * src/bdf/bdflib.c (_bdf_parse_start): Implement. 2016-06-08 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Re-enable new line renderer on 64-bit archs. * src/smooth/ftgrays.c (gray_render_line): Conditionally re-enable new implementation, where it is safe from overflows. 2016-06-08 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor clean-ups. * src/smooth/ftgrays.c (gray_dump_cells): Move out of the way. (gray_render_span): Remove spurious casts and streamline. 2016-06-07 Werner Lemberg <wl@gnu.org> [autofit] Add support for Ethiopic script. * src/autofit/afblue.dat: Add blue zone data for Ethiopic. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Ethiopic standard characters. * src/autofit/afranges.c: Add Ethiopic data. * src/autofit/afstyles.h: Add Ethiopic data. 2016-06-07 Werner Lemberg <wl@gnu.org> [autofit] Fix compilation with VS2016 (#48126). This compiler doesn't recognize the end-of-comment sequence `*/' if it immediately follows non-ASCII characters. * src/autofit/afscript.h: Ensure whitespace before `*/'. 2016-06-04 Werner Lemberg <wl@gnu.org> Fix a test for named instances (#48122). This was missed while giving negative face indices an extended meaning. * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Implement. 2016-05-31 Nikolaus Waxweiler <madigens@gmail.com> [truetype] Let SHPIX move points in the twilight zone in v40. * src/truetype/ttinterp.c (Ins_SHPIX): Allow SHPIX to move points in the twilight zone. Otherwise, treat SHPIX the same as DELTAP. Unbreaks various fonts such as older versions of Rokkitt and DTL Argo T Light that would glitch severly after calling ALIGNRP after a blocked SHPIX. 2016-05-30 Werner Lemberg <wl@gnu.org> [type42] Support `CharStrings' entry format as created by LilyPond. * src/type42/t42parse.c (t42_parse_charstrings): Handle entries having the format (foo) cvn 12345 def 2016-05-28 Werner Lemberg <wl@gnu.org> * src/autofit/afranges.c: Remove `UL' postfix from hex numbers. Suggested by Alexei. `UL' is only needed for 16bit compilers, but it seems noone is using this anymore (and we no longer test whether FreeType compiles in such an environment). Otherwise, it is easy to add the postfix to the `AF_UNICODE_RANGE' macro. 2016-05-26 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Shrink bisection stack. The convergence of Bézier flatteners is fast with the deviation from straight line being assymptotically cut 4-fold on each bisection. This justifies smaller bisection stack size. * src/smooth/ftgrays.c (gray_TWorker): Remove common `bez_stack'. (gray_render_conic): Create and use conic `bez_stack'. Move back the band analysis from... (gray_conic_to): ... here. (gray_render_cubic): Create and use cubic `bez_stack'. Move back the band analysis from... (gray_cubic_to): ... here. (gray_move_to): Updated. 2016-05-25 Werner Lemberg <wl@gnu.org> [autofit] Fixes for Armenian and Gujarati ranges. * src/autofit/afranges.c (af_armn_uniranges): Corrected. (af_guru_nonbase_uniranges): Make U+0A3E a base character. 2016-05-24 Werner Lemberg <wl@gnu.org> [autofit] Add support for Armenian script. * src/autofit/afblue.dat: Add blue zone data for Armenian. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Armenian standard characters. * src/autofit/afranges.c: Add Armenian data. * src/autofit/afstyles.h: Add Armenian data. 2016-05-23 Werner Lemberg <wl@gnu.org> * builds/unix/unix-cc.in (LINK_LIBRARY): Use `-export-symbols'. This was commented about 10 years ago – I think the reason then to disable libtool's `-export-symbols' option was to give some badly programmed applications access to internal FreeType functions. I believe that we should no longer take care of such programs; the number of symbols exported should be rather restricted as much as possible. 2016-05-22 Werner Lemberg <wl@gnu.org> [autofit] Add blue-zone support for Gurmukhi script. This essentially moves the Gurmukhi script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Gurmukhi. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Gurmukhi standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Gurmukhi data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Gurmukhi data; in particular, use AF_WRITING_SYSTEM_LATIN. 2016-05-21 Werner Lemberg <wl@gnu.org> Minor clang++ fixes. * src/base/ftobjs.c (FT_Add_Module), src/psaux/psobjs.c (ps_parser_load_field), src/type1/t1load.c (parse_subrs): Add initializer. * src/cache/ftccache.h (FTC_CACHE_TRYLOOP_END): Avoid implicit conversion from NULL to boolean. 2016-05-21 Werner Lemberg <wl@gnu.org> Work around a bug of the C 8.0.0.1 compiler on AIX 5.3 (#47955). * include/freetype/internal/ftmemory.h (cplusplus_typeof): Use braces for `extern "C++"'. 2016-05-17 Nikolaus Waxweiler <madigens@gmail.com> [truetype] Make TT_LOADER_SET_PP support subpixel hinting [3/3]. * src/truetype/ttgload.c (TT_LOADER_SET_PP): Replace macro with... (tt_loader_set_pp): ... this new function. Update all callers. 2016-05-17 Nikolaus Waxweiler <madigens@gmail.com> [truetype] New implementation of v38 bytecode interpreter [2/3]. This patch actually modifies the bytecode interpreter. See added comments in `ttinterp.h' for more information on this and the following commit in the series. * src/truetype/ttinterp.c (SUBPIXEL_HINTING): Replaced by... (NO_SUBPIXEL_HINTING, SUBPIXEL_HINTING_INFINALITY, SUBPIXEL_HINTING_MINIMAL): ...new macros. (Direct_Move, Direct_Move_X, Direct_Move_Y): Handle backwards compatibility. Updated. (Ins_RS, Ins_FDEF, Ins_ENDF, Ins_CALL, Ins_LOOPCALL, Ins_MD): Updated. (Ins_INSTCTRL): Handle native ClearType mode flag. Updated. (Ins_FLIPPT, Ins_FLIPRGON, Ins_FLIPRGOFF): Handle backwards compatibility. (Move_Zp2_Point): Ditto. (Ins_SHP): Updated. (Ins_SHPIX): Handle backwards compatibility. Updated. (Ins_MSIRP, Ins_MDAP, Ins_MIAP, Ins_MDRP, Ins_MIRP): Updated. (Ins_ALIGNRP): Updated. (Ins_IUP, Ins_DELTAP): Handle backwards compatibility. Updated. (Ins_GETINFO): Handle v38 flags. Updated. (TT_RunIns): Handle backwards compatibility mode. Updated. 2016-05-17 Nikolaus Waxweiler <madigens@gmail.com> [truetype] New implementation of v38 bytecode interpreter [1/3]. This patch prepares data structures and the like. See added comments in `ttinterp.h' for more information on this and the following commits in the series. * devel/ftoption.h, include/freetype/config/ftoption.h (TT_CONFIG_OPTION_SUBPIXEL_HINTING): Assign values to differentiate between subpixel versions. (TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY, TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL): New macros. * include/freetype/ftttdrv.h (TT_INTERPRETER_VERSION_40): New macro. * include/freetype/internal/tttypes.h (TT_FaceRec): Updated. * src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields `subpixel_hinting_lean', `vertical_lcd_lean', `backwards_compatibility', `iupx_called', iupy_called', and `grayscale_cleartype' for new hinting mode. * src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40 interpreters conditionally. * src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless in v38 backwards compatibility mode. Updated. (compute_glyph_metrics): Add v38 backwards compatibility mode constraint for adjusting advance widths. Updated. (tt_loader_init): Handle new flags `subpixel_hinting_lean', `grayscale_cleartype', and `vertical_lcd_lean'. Updated. (tt_get_metrics, TT_Process_Simple_Glyph, TT_LOADER_SET_PP): Updated. * src/truetype/ttobjs.c (tt_driver_init): Conditionally set default interpreter version number. * src/truetype/ttsubpix.c, src/truetype/ttsubpix.h: Updated. 2016-05-17 Werner Lemberg <wl@gnu.org> [cff] Fix matrix scaling (#47848). * include/freetype/config/ftstdlib.h (FT_LONG_MIN): New macro. * src/cff/cffparse.c (cff_parse_font_matrix): Use largest scaling value of all matrix coefficients to scale matrix. * src/cff/cffobjs.c (cff_face_init): Use `matrix->yx' member for matrix normalization if `matrix->yy' is zero. 2016-05-16 Werner Lemberg <wl@gnu.org> [base] Reject invalid sfnt Mac resource (#47891). * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Check validity of `CID ' and `TYPE1' table offset and length. 2016-05-16 Werner Lemberg <wl@gnu.org> [cid] Fix scanning for `StartData' and `/sfnts' (#47892). * src/cid/cidparse.c (STARTDATA, STARTDATA_LEN, SFNTS, SFNTS_LEN): New macros. (cid_parser_new): Fix and document algorithm. 2016-05-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> [truetype] Improve the recursive reference detector. The previous fix for #46372 misunderstood a composite glyph referring same component twice as a recursive reference. See the discussion http://lists.gnu.org/archive/html/freetype/2016-05/msg00000.html Thanks to Khaled Hosny for finding this issue. * src/truetype/ttgload.c (ft_list_get_node_at): A function to get the i-th node from FT_List. (load_truetype_glyph): In the traversal scan of the reference tree in the composite glyph, we clear the nodes filled by previous sibling chain. 2016-05-07 Werner Lemberg <wl@gnu.org> [cache] Allow value 0 for face ID. We never dereference `face_id', and some implementations might use a running number instead of a pointer. Additionally, disallowing value zero was undocumented. * src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c (FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for `face_id'. 2016-05-05 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] More efficient accounting of conic splits and draws. A single decrement counter of segments to draw, instead of an array, contains all the information necessary to decide when to split and when to draw a conic segment. The number of splits before each draw is equal to the number of trailing zeros in the counter. * src/smooth/ftgrays.c (gray_TWorker): Remove `lev_stack'. (gray_render_conic): Updated to use decrement counter of segments. 2016-05-05 Werner Lemberg <wl@gnu.org> [cff, truetype] Fix logic for `FT_Property_Set'. Otherwise some properties could be set to arbitrary values, which is harmless, but querying could give wrong positive results. * src/cff/cffdrivr.c (cff_property_set) [hinting-engine], * src/truetype/ttdriver.c (tt_property_set) [interpreter-version]: Only allow defined values. 2016-04-25 Werner Lemberg <wl@gnu.org> [autofit] Add blue-zone support for Gujarati script. This essentially moves the Gujarati script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Gujarati. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Gujarati standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Gujarati data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Gujarati data; in particular, use AF_WRITING_SYSTEM_LATIN. 2016-04-24 Werner Lemberg <wl@gnu.org> Minor. * include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Protect macro argument with parentheses. 2016-04-24 Werner Lemberg <wl@gnu.org> [truetype] Fix deallocation in case of error (#47726). * src/truetype/ttgload.c (load_truetype_glyph): Initialize fields in `outline' that are going to be deallocated in case of error. 2016-04-23 Werner Lemberg <wl@gnu.org> [autofit] Improve Georgian blue zone characters. Suggested by Akaki Razmadze <razmadzekoko@gmail.com>. * src/autofit/afblue.dat (AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM): Updated. * src/autofit/afblue.c: Regenerated. 2016-04-16 David Capello <davidcapello@gmail.com> [cmake] Honor SKIP_INSTALL_* settings (as used in zlib). As FreeType depends on zlib, if we don't install zlib (e.g., because we defined SKIP_INSTALL_ALL), FreeType cannot be installed, too (cmake triggers an error saying that FreeType cannot be installed because zlib target isn't in the export set). * CMakeLists.txt: Honor `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' settings. 2016-04-16 Behdad Esfahbod <behdad@behdad.org> [truetype] Another fix for non-intermediate GX tuples. * src/truetype/ttgxvar.c (ft_var_apply_tuple): Add some missing cases. 2016-04-12 Alexei Podtelezhnikov <apodtele@gmail.com> Remove forgotten macro. * include/freetype/internal/internal.h [FT_INTERNAL_POSTSCRIPT_GLOBALS_H]: Remove. 2016-04-09 Werner Lemberg <wl@gnu.org> [autofit] Add support for Georgian scripts. Georgian is problematic, since `uppercase' forms of Mkhedruli (called Mtavruli) are not yet defined in Unicode, which means that proper blue zones can't be defined. However, there is already a proposal submitted to Unicode; see http://www.unicode.org/L2/L2016/16034-n4707-georgian.pdf Additionally, due to historical reasons, Unicode treats Khutsuri as the same script as Mkhedruli, and so does OpenType. However, since the two scripts have completely different shapes it can happen that blue zones differ considerably. The tag `geok' used here (derived from ISO 15924) to differentiate the two scripts is not an OpenType tag in use. If we now have a font that contains both glyphs for Mkhedruli and Khutsuri, and it uses OpenType features for both also, HarfBuzz unavoidably treats all glyphs as `geor'. As a consequence, blue zones for `geok' are not used for glyphs involved in the OpenType features. An issue not yet resolved is which OpenType feature should be used to access Mtavruli glyph shapes; right now, FreeType doesn't set up support for them, but it is easy to add them later on as soon as more information is available. * src/autofit/afblue.dat: Add blue zone data for Georgian. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Georgian standard characters. * src/autofit/afranges.c: Add Georgian data. * src/autofit/afstyles.h: Add Georgian data. 2016-04-05 Werner Lemberg <wl@gnu.org> [autofit] Provide dummy blue zone for pseudo script `none'. Even if the dummy hinter is used as the handler for `none' (which doesn't use blue zones), it is more consistent than the old value (which was 0), pointing to Arabic... * src/autofit/afblue.dat: Add `AF_BLUE_STRINGSET_NONE'. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afstyles.h (none_dflt): Use AF_BLUE_STRINGSET_NONE. 2016-03-30 Werner Lemberg <wl@gnu.org> * src/pfr/pfrload.c (pfr_aux_name_load): Thinko (#47567). 2016-03-30 Werner Lemberg <wl@gnu.org> * src/pfr/pfrload.c (pfr_log_font_count): Better font size estimate. 2016-03-30 Werner Lemberg <wl@gnu.org> * src/pfr/pfrload.c (pfr_aux_name_load): Fix memory leak (#47567). 2016-03-29 Werner Lemberg <wl@gnu.org> * src/base/ftadvanc.c (FT_Get_Advances): Fix invalid left shift. 2016-03-29 Werner Lemberg <wl@gnu.org> [pfr] Fix binary search (#47514). * src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Handle border conditions correctly. 2016-03-29 Werner Lemberg <wl@gnu.org> [pfr] Minor. * src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Replace `left', `right', and `middle' with `min', `max', and `mid' as used in other FreeType binary search code. (pfr_load_bitmap_metrics): Fix invalid left shift. 2016-03-29 Werner Lemberg <wl@gnu.org> * src/pfr/pfrtypes.h: Replace all enums with macros. We need `~FOO' to unset bits, and only with unsigned values (which `enum' isn't normally) this works cleanly. 2016-03-26 Werner Lemberg <wl@gnu.org> [pfr] Robustify bitmap strike handling (#47514). We did a binary search for a charcode without ensuring that the searched data is ordered. Validating the order is now done lazily, this is, the first access to a bitmap glyph triggers the order check in the corresponding bitmap strike. * src/pfr/pfrtypes.h (PFR_BitmapFlags): New values `PFR_BITMAP_VALID_CHARCODES' and `PFR_BITMAP_CHARCODES_VALIDATED'. * src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Make `flags' argument a pointer. Handle new PFR_BITMAP_XXX flags. (pfr_slot_load_bitmap): Updated. 2016-03-26 Werner Lemberg <wl@gnu.org> [pfr] Fix handling of compound glyphs. Extra items are indicated with different bit positions. * src/pfr/pfrtypes.h (PFR_GlyphFlags): Replace `PFR_GLYPH_EXTRA_ITEMS' with `PFR_GLYPH_SIMPLE_EXTRA_ITEMS' and `PFR_GLYPH_COMPOUND_EXTRA_ITEMS'. * src/pfr/pfrgload.c (pfr_glyph_load_simple, pfr_glyph_load_compound): Use them. 2016-03-25 Werner Lemberg <wl@gnu.org> [pfr] Minor. * src/pfr/pfrsbit.c, src/pfr/pfrobjs.c: Use flag names instead of bare numbers. 2016-03-25 Werner Lemberg <wl@gnu.org> [pfr] Various clang sanitizer fixes. * src/pfr/pfrsbit.c (pfr_load_bitmap_metrics): Correctly handle signed nibbles. (pfr_slot_load_bitmap): Correctly exit frame in case of error. Fix invalid left shifts. 2016-03-23 Werner Lemberg <wl@gnu.org> Rename `VERSION.DLL' (#47472). * docs/VERSION.DLL: Renamed to... * docs/VERSIONS.TXT: ...this. 2016-03-23 Werner Lemberg <wl@gnu.org> [raster, smooth] Directly test outline size (#47500). This improves stand-alone compilation. * src/base/ftoutln.c (FT_Outline_Render): Move cbox size test to... * src/raster/ftraster.c (ft_black_render), src/smooth/ftgrays.c (gray_raster_render): ...these functions. 2016-03-23 Werner Lemberg <wl@gnu.org> [raster, smooth] Fix some clang sanitizer runtime issues. * src/raster/ftraster.c (ft_black_reset, ft_black_set_mode, ft_black_render): Harmonize signatures with `ftimage.h'. * src/smooth/ftgrays.c (gray_raster_render, gray_raster_reset): Ditto. 2016-03-22 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Minor. This fixes an AddressSanitizer issue: ttgload.c:430:7: runtime error: null pointer passed as argument 1, which is declared to never be null 2016-03-21 Werner Lemberg <wl@gnu.org> * src/autofit/afhints.c (af_glyph_hints_reload): Thinko. This fixes the previous commit to this file. 2016-03-21 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Partly revert recent changes. * src/smooth/ftgrays.c (gray_conic_to, gray_cubic_to): Rework conditions to fix rendering issues. 2016-03-20 Werner Lemberg <wl@gnu.org> [autofit] Show `near' points in tracing. * src/autofit/afhints.h (AF_FLAG_NEAR): New macro. * src/autofit/afhints.c (af_glyph_hints_dump_points): Implement it. (af_glyph_hints_reload): Handle AF_FLAG_NEAR. 2016-03-18 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor refactoring and microoptimizations. * src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move band clipping from here. (gray_conic_to, gray_cubic_to): ... to here. (gray_rander_line, gray_render_scanline): Initialize variables closer to their use. 2016-03-17 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Minor refactoring. * src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move upscaling from here. (gray_conic_to, gray_cubic_to): ... to here. 2016-03-15 Werner Lemberg <wl@gnu.org> * src/autofit/aflatin.c (af_latin_compute_stem_width): Optimize. 2016-03-14 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Temporarily revert 6eb6158dd787 (#47114). * src/smooth/ftgrays.c (gray_render_line): Old implementation. 2016-03-12 Werner Lemberg <wl@gnu.org> [ftfuzzer] Improve coverage of rasterfuzzer. * src/tools/ftfuzzer/rasterfuzzer.cc (LLVMFuzzerTestOneInput): Use input data for `tags' array also. Trim input data to get more positive hits. 2016-03-11 Pavlo Denysov <paul.kiev+savannah@gmail.com> Fix CMake issues for iOS (patch #8941). * CMakeLists.txt (CMAKE_TOOLCHAIN_FILE): Fix directory. * builds/cmake/iOS.cmake: No longer enforce gcc. 2016-03-09 Behdad Esfahbod <behdad@behdad.org> [truetype] Fix handling of non-intermediate GX tuples. We probably did not notice this as all fonts we tested had only tuple_coords[i] be +1 or -1 for non-intermediate tuples. * src/truetype/ttgxvar.c (ft_var_apply_tuple): Implement it. 2016-03-06 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Refuse to render enormous outlines (#47114). The goal is to avoid integer overflows in the rendering algorithms. The limit is chosen arbitrarily at some 2^18 pixels, which should be enough for modern devices including printers. * src/base/ftoutln.c (FT_Outline_Render): Check CBox and reject enormous outlines. 2016-03-06 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Replace left shifts with multiplications (#47114). * src/smooth/ftgrays.c (SUBPIXELS, UPSCALE, DOWNSCALE): Do it. 2016-03-05 Werner Lemberg <wl@gnu.org> [autofit] Avoid excessive stem length rounding (#25392). * src/autofit/aflatin.c (af_latin_compute_stem_width): Add argument to pass difference between hinted and unhinted position of base point; use this to adjust the stem width depending on the PPEM so that it doesn't become too large under certain circumstances. Update all callers using value 0 for this argument except... (af_latin_align_linked_edge): Pass position delta of base point to `af_latin_compute_stem_width'. 2016-03-05 J Raynor <jxraynor@gmail.com> Make FreeType compile on AIX out of the box. * builds/unix/configure.raw (XX_ANSIFLAGS): Don't use `-ansi' on AIX. 2016-03-01 Werner Lemberg <wl@gnu.org> Kostya Serebryany <kcc@google.com> [ftfuzzer] Add unit for testing smooth and black rasterizers. * src/tools/ftfuzzer/rasterfuzzer.cc: New file. 2016-03-01 Werner Lemberg <wl@gnu.org> [autofit] Fix reallocation error introduced in 2016-02-27 (#47310). * src/autofit/aflatin.c (af_latin_hints_compute_segments): Reassign `prev_segment' after reallocation. 2016-03-01 Werner Lemberg <wl@gnu.org> Fix clang warnings. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Use FT_UShort for `min_flags' and `max_flags'. Initialize `prev_*' variables. * src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Fix types of local variables. * src/smooth/ftgrays.c (gray_dump_cells) [FT_DEBUG_LEVEL_TRACE]: Update `printf' format string. * src/tools/ftfuzzer/ftfuzzer.cc (setIntermediateAxis): Add cast. (LLVMFuzzerTestOneInput): Fix loop type. 2016-02-29 Werner Lemberg <wl@gnu.org> [autofit] Add blue-zone support for Sinhala script. This essentially moves the Sinhala script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Sinhala. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Sinhala standard character and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Sinhala data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Sinhala data; in particular, use AF_WRITING_SYSTEM_LATIN. 2016-02-27 Werner Lemberg <wl@gnu.org> [autofit] Properly handle spikes pointing to the x-axis. An example that gets better rendered is glyph `uusignTaml' (glyph index 2286) in font `FreeSerif.ttf' (Version 0412.2263) at 22ppem. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Properly handle segments where the last point of the first segment is identical to the first point in the second one. This can happen for malformed fonts or spikes. We either merge the new segment with the previous one (both segments point into the same direction), or we discard the shorter segment if they point into different directions. 2016-02-27 Werner Lemberg <wl@gnu.org> [autofit] Minor code clean-up. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Change some local variable names to better differentiate between values along a segment and values orthogonal to it. 2016-02-26 Werner Lemberg <wl@gnu.org> [autofit] Improve BOUND action. In complex glyph shapes, the original logic was too simple to cater for situations that would actually need something similar to PS Hint masks. This fix should alleviate the worst cases. * src/autofit/aflatin.c (af_latin_hint_edges): Don't allow complete disappearance of stems. 2016-02-25 Werner Lemberg <wl@gnu.org> [autofit] Add blue-zone support for Tamil script. This essentially moves the Tamil script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Tamil. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Tamil standard character and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Tamil data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Tamil data; in particular, use AF_WRITING_SYSTEM_LATIN. 2016-02-18 Werner Lemberg <wl@gnu.org> [autofit] Add blue-zone support for Malayalam script. This essentially moves the Malayalam script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Malayalam. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Malayalam standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Malayalam data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Malayalam data; in particular, use AF_WRITING_SYSTEM_LATIN. 2016-02-16 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Fix integer overflow (#47114). * src/smooth/ftgrays.c (TArea): Make it unconditionally `long'. 2016-02-15 Werner Lemberg <wl@gnu.org> * src/cff/cffparse.c (cff_parse_multiple_master): Improve tracing. 2016-02-15 Werner Lemberg <wl@gnu.org> [cff] Handle T2 operator only with old CFF engine (#47157). * src/cff/cffparse.c (cff_parser_run) <opcode 31>: Enclose with #ifdef CFF_CONFIG_OPTION_OLD_ENGINE...#endif. 2016-02-15 Werner Lemberg <wl@gnu.org> [cff] Partially handle `load' and `store' ops in old CFF engine. Now all glyphs of MM CFFs like `ITCGaramondMM-It.otf' can be displayed. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_store, cff_op_load>: Partially implement it. * src/cff/cffparse.c (cff_parser_init): Add new parameter to pass the number of Multiple Master axes. Update all callers. (cff_parse_multiple_master): Get number of axes. (cff_parser_run) <opcode 31>: Updated. * src/cff/cffparse.h: Updated. (CFF_ParserRec): Add `num_axes' field. * src/cff/cffload.c: Updated. * src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_axes' field. 2016-02-15 Werner Lemberg <wl@gnu.org> [cff] Correctly trace SIDs that contain NULL bytes. We need this to properly trace Multiple Master CFFs, which contain two SIDs that are charstrings. This commit makes FreeType also show the last SID, omitted previously due to a bug. * src/cff/cfftypes.h (CFF_FontRec): Add `string_pool_size' field. * src/cff/cffload.c (cff_index_get_pointers): Add argument to return the pool size. Update all callers. * src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Directly access `cff->strings' to display the non-default strings. 2016-02-14 Werner Lemberg <wl@gnu.org> * src/base/fthash.c: Include FT_INTERNAL_MEMORY_H. 2016-02-14 Werner Lemberg <wl@gnu.org> * src/cff/cffparse.c: Include `cffgload.h'. Problem reported by Colin Walters <walters@verbum.org>. 2016-02-14 Werner Lemberg <wl@gnu.org> [cff] Make old CFF engine show MM CFFs (without variations). The new code only displays the first master in the font. * src/cff/cffgload.c (cff_decode_parse_charstrings): Add new parameter to allow function calls from dictionaries also. <cff_op_blend>: Partially implement it. Update all callers. * src/cff/cffgload.h: Updated. * src/cff/cffparse.c (cff_parser_init): Add new parameter to pass the number of Multiple Master designs. Update all callers. (cff_parse_multiple_master): New function to rudimentarily parse operator. (cff_parser_run): Handle `T2' operator. * src/cff/cffparse.h: Updated. (CFF_ParserRec): Add `num_designs' field. * src/cff/cffload.c: Updated. * src/cff/cfftoken.h: Handle `MultipleMaster' operator. * src/cff/cfftypes.h (CFF_FontRecDictRec): Add `num_designs' field. * src/sfnt/sfobjs.c (sfnt_init_face): Don't handle `fvar' table for MM CFFs. 2016-02-09 Werner Lemberg <wl@gnu.org> [docmaker] Don't emit trailing newlines. * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_code): Use `rstrip'. 2016-02-07 Werner Lemberg <wl@gnu.org> * Version 2.6.3 released. ========================= Tag sources with `VER-2-6-3'. * docs/VERSION.DLL: Update documentation and bump version number to 2.6.3. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.6.2/2.6.3/, s/262/263/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3. * builds/unix/configure.raw (version_info): Set to 18:3:12. * CMakeLists.txt (VERSION_PATCH): Set to 3. * docs/CHANGES: Updated. 2016-02-07 Werner Lemberg <wl@gnu.org> Fix another runtime error found by clang's sanitizer (#47082). * src/base/ftstroke.c (ft_stroke_border_export): Properly handle empty input buffer. 2016-02-07 Werner Lemberg <wl@gnu.org> Fix runtime errors found by clang's sanitizer (#47082). * src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Copy), src/cache/ftcsbits.c (ftc_sbit_copy_bitmap): Properly handle empty input buffer. 2016-02-07 Werner Lemberg <wl@gnu.org> [cff] Minor. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_sqrt>: Remove dead code. 2016-02-07 Werner Lemberg <wl@gnu.org> [cff] Implement missing operators in new engine (except `random'). * src/cff/cf2font.h (CF2_STORAGE_SIZE): New macro. * src/cff/cf2intrp.c (cf2_interpT2CharString): Implement the following operators: abs, add, and, div, drop, dup, eq, exch, get, ifelse, index, mul, neg, not, or, put, roll, sqrt, sub. * src/cff/cf2stack.h, src/cff/cf2stack.c (cf2_stack_roll): New auxiliary function for `roll' operator. 2016-02-06 Werner Lemberg <wl@gnu.org> [cff] Fix some Type 2 operators in old CFF engine. * src/cff/cffgload.c (cff_decoder_parse_charstrings): Fix `eq' operator, add `not' and (unsupported) `blend' operators. 2016-02-05 Sebastian Rasmussen <sebras@gmail.com> Make direct call of `make install' work (#47072). * builds/unix/unix-def.in (freetype-config): Make sure `freetype-config' is generated for both make targets (`all' and `install'). 2016-02-05 Werner Lemberg <wl@gnu.org> [base] Fix advance width loading for MM and GX fonts (#47064). * src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Return false for MM and GX fonts. Update callers. 2016-02-03 Werner Lemberg <wl@gnu.org> [cff] Fix handling of face_index == -1 for pure CFF. * src/cff/cffobjs.c (cff_face_init): Return correct number of faces. 2016-01-30 Werner Lemberg <wl@gnu.org> [autofit] Minor tracing improvement. * src/autofit/afhints.c (af_glyph_hints_dump_points): Insert newline at the start of a new contour. 2016-01-28 Nikolaus Waxweiler <madigens@gmail.com> Remove unpatented hinter (3/3). * include/freetype/config/ftoption.h (TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove. * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove `ignore_unpatented_hinter' field. Update users. (FT_DEBUG_HOOK_UNPATENTED_HINTING): Remove. Update users. * include/freetype/internal/tttypes.h (TT_FaceRec): Remove `unpatented_hinting' field. Update users. * src/base/ftpatent.c (_tt_check_patents_in_range, _tt_check_patents_in_table, _tt_face_check_patents): Remove. (FT_Face_CheckTrueTypePatents, FT_Face_SetUnpatentedHinting): Replace code with dummies. * src/truetype/ttobjs.c (tt_face_init): Remove now defunct code. * src/truetype/ttobjs.h (TT_GraphicsState): Remove `both_x_axis' field. 2016-01-28 Nikolaus Waxweiler <madigens@gmail.com> Remove unpatented hinter (2/3). * devel/ftoption.h (TT_CONFIG_OPTION_UNPATENTED_HINTING): Remove. 2016-01-28 Nikolaus Waxweiler <madigens@gmail.com> Remove unpatented hinter (1/3). * src/truetype/ttinterp.c [TT_CONFIG_OPTION_UNPATENTED_HINTING]: Remove all code related to this macro. 2016-01-28 Werner Lemberg <wl@gnu.org> [autofit] Add blue-zone support for Kannada script. This essentially moves the Kannada script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Kannada. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Kannada standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Kannada data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Kannada data; in particular, use AF_WRITING_SYSTEM_LATIN. 2016-01-22 Alexei Podtelezhnikov <apodtele@gmail.com> Better access to 64-bit integers for C99 compilers. * include/freetype/config/ftconfig.h [FT_LONG64]: Use __STDC_VERSION__ to define 64-bit integers. * builds/unix/ftconfig.in [FT_LONG64]: Ditto. * builds/vms/ftconfig.h [FT_LONG64]: Ditto. 2016-01-21 Werner Lemberg <wl@gnu.org> [gxvalid] Remove commented out code. * src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Do it. 2016-01-20 Werner Lemberg <wl@gnu.org> [autofit] Complete last autofit commit. Problem reported by Kostya Serebryany <kcc@google.com>. * src/autofit/afshaper.c (af_shaper_get_coverage) [!FT_CONFIG_OPTION_USE_HARFBUZZ]: Update signature. 2016-01-20 Werner Lemberg <wl@gnu.org> Still handle `__FTERRORS_H__'. We need this for backwards compatibility. Problem reported by John Emmas <johne53@tiscali.co.uk>. * include/freetype/fterrors.h: Fix inclusion guard so that undefining either `FTERRORS_H_' or `__FTERRORS_H__' works as expected. 2016-01-19 Werner Lemberg <wl@gnu.org> [autofit] Fix handling of default script. Patch taken from ttfautohint, commit 071ae2c00e0d67f9d19418f4fade1c23d27dc185. There were two bugs. - We now use non-standard script tags like `khms' for special purposes. However, HarfBuzz maps such tags to `DFLT', and without this commit the associated lookups were incorrectly assigned to the non-standard tags. - Let's assume we have a Bengali font, and the font's `DFLT' script tag handles the necessary lookups for Bengali, too. Without this commit, the `DFLT' lookups were assigned to ttfautohint's default script (usually `latn') before the standard lookups for Bengali were handled. We now have the following order while searching for covered glyph indices. special features of scripts (e.g. `sups' for Cyrillic) Unicode mappings of scripts remaining features of scripts (especially important for Indic scripts) default features of default script * src/autofit/afshaper.c, src/autofit/afshaper.h (af_shaper_get_coverage): Add boolean parameter to indicate default script. Update all callers. * src/autofit/afglobal.c (af_face_globals_compute_style_coverage): Fix search order for coverages. 2016-01-19 Werner Lemberg <wl@gnu.org> Various minor clang fixes. * src/autofit/afcjk.c (af_cjk_metrics_init_widths), src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize `ch'. * src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Add cast. * src/base/ftdbgmem.c (ft_mem_table_destroy): Add cast. * src/base/fthash.c (hash_num_lookup): Add cast. * src/base/fttrigon.c (ft_trig_downscale) [FT_LONG64]: Fix cast. * src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Comment out redundant code. * src/type1/t1driver.c (t1_get_ps_font_value) <PS_DICT_SUBR>: Add cast. * src/type1/t1load.c (parse_subrs): Fix type of `count'. 2016-01-19 Derek B. Noonburg <derekn@glyphandcog.com> [truetype] Add another tricky font. * src/truetype/ttobjs.c (TRICK_SFNT_IDS_NUM_FACES): Increase. (sfnt_id): Add variant of `DFKaiShu'. 2016-01-14 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Empower `FT_Library_SetLcdFilterWeights'. * src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): Enable filter in addition to setting weights. (FT_Library_SetLcdFilter): Clean out FT_FORCE_LIGHT_LCD_FILTER and FT_FORCE_LEGACY_LCD_FILTER. * include/freetype/ftlcdfil.h: Documentation update. 2016-01-12 Werner Lemberg <wl@gnu.org> Don't use macro names that start with `_[A-Z]' [3/3]. Such macro names are reserved for both C and C++. * src/cache/ftccache.h: s/_FTC_FACE_ID_HASH/FTC_FACE_ID_HASH/. Update all callers. (FTC_CACHE_LOOKUP_CMP): Replace `_XXX' with `XXX_'. * src/cache/ftcmru.c (FTC_MRULIST_LOOKUP_CMP): Ditto. 2016-01-12 Werner Lemberg <wl@gnu.org> Don't use macro names that start with `_[A-Z]' [2/3]. Such macro names are reserved for both C and C++. * include/freetype/ftimage.h, src/raster/ftraster.c, src/smooth/ftgrays.c, src/smooth/ftgrays.h: s/_STANDALONE_/STANDALONE_/. 2016-01-12 Werner Lemberg <wl@gnu.org> Don't use macro names that start with `_[A-Z]' [1/3]. Such macro names are reserved for both C and C++. * src/bdf/bdflib.c: Replace macros of the form `_BDF_XXX' with `BDF_XXX_'. 2016-01-12 Werner Lemberg <wl@gnu.org> Don't use macro names that contain `__' [2/2]. Such macro names are reserved for both C and C++. * src/cache/*: s/__/_/. 2016-01-12 Werner Lemberg <wl@gnu.org> Don't use macro names that contain `__' [1/2]. Such macro names are reserved for both C and C++. * */*: Replace macros of the form `__XXX_H__' with `XXX_H_'. 2016-01-10 Jered Gray <jegray@google.com> [cff] Fix usage of `|' operator. * src/cff/cf2intrp.c (cf2_interpT2CharString) [cf2_cmdEXTENDEDNMBR, default]: `|' is not guaranteed to be processed from left to right by the compiler. However, the code repeatedly calls `cf2_buf_readByte' to get the arguments to `|' ... Fix this. 2015-12-25 Werner Lemberg <wl@gnu.org> [autofit] Make top-to-bottom hinting work in latin auto-hinter. This improves rendering of scripts like Bengali or Devanagari. * src/autofit/afhints.c (af_axis_hints_new_edge): Add parameter to pass top-to-bottom hinting flag. This makes the function sort edges in descending vertical position. * src/autofit/afhints.c: Updated. * src/autofit/aflatin.c (af_latin_hints_compute_edges, af_latin_hint_edges): Use `top_to_bottom_hinting' flag. * src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/autofit/aflatin2.c (af_latin2_hints_compute_edges): Updated. 2015-12-24 Werner Lemberg <wl@gnu.org> [autofit] Add hinting direction to `AF_ScriptClassRec'. Still unused. * src/autofit/afglobal.c (SCRIPT): Handle hinting direction. * src/autofit/aftypes.h (AF_ScriptClassRec): Add `top_to_bottom_hinting' field. (AF_HINTING_BOTTOM_TO_TOP, AF_HINTING_TOP_TO_BOTTOM): New macros. (AF_DEFINE_SCRIPT_CLASS): Updated. 2015-12-23 Werner Lemberg <wl@gnu.org> [autofit] Start implementing hinting direction (up/down, down/up). Right now, it does nothing. * src/autofit/afscript.h: Add another parameter to `SCRIPT', specifying hinting direction. * src/autofit/afglobal.c, src/autofit/afglobal.h, src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/afshaper.c, src/autofit/aftypes.h: Extend `SCRIPT' definitions. 2015-12-22 Werner Lemberg <wl@gnu.org> * src/type1/t1load.c (parse_subrs): Fix memory leak (#46744). 2015-12-22 Werner Lemberg <wl@gnu.org> [base] Make hash interface symmetric. Use `num' and `str' infixes everywhere. * src/base/fthash.c (ft_hash_init): Renamed to... (hash_init): ... This. (ft_hash_str_init, ft_hash_num_init): New functions. (ft_hash_free): Renamed to... (ft_hash_str_free): ... This. * include/freetype/internal/fthash.h: Updated. * src/bdf/bdflib.c, src/type1/t1load.c, src/type1/t1objs.c: Updated. 2015-12-21 Werner Lemberg <wl@gnu.org> [type1] Avoid shift of negative numbers (#46732). * src/type1/t1load.c (parse_subrs): Do it. 2015-12-20 Werner Lemberg <wl@gnu.org> [type1, psaux] Handle large values of num_subrs correctly (#46692). We now use a hash to map from subr indices to array elements holding the subroutines, if necessary. * include/freetype/internal/t1types.h: Include FT_INTERNAL_HASH_H. (T1_FontRec): Add `subrs_hash' field. * include/freetype/internal/psaux.h: Include FT_INTERNAL_HASH_H. (T1_DecoderRec): Add `subrs_hash' field. * src/type1/t1load.h (T1_LoaderRec): Add `subrs_hash' field. * src/type1/t1driver.c: Include FT_INTERNAL_HASH_H. (t1_ps_get_font_value) [PS_DICT_SUBR]: Look up hash if necessary. * src/type1/t1load.c: Include FT_INTERNAL_HASH_H. (parse_subrs): Use hash for subr indices that exceed the allocated number of subr slots. (t1_init_loader): Remove unnecessary code. (t1_done_loader, T1_Open_Face): Updated. * src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances, T1_Load_Glyph): Updated. * src/type1/t1objs.c (T1_Face_Done): Updated. * src/psaux/t1decode.c: Include FT_INTERNAL_HASH_H. (t1_decoder_parse_charstrings) [op_callsubr]: Look up hash if necessary. * src/cid/cidgload.c (cid_load_glyph): Updated. 2015-12-20 Werner Lemberg <wl@gnu.org> [base] Thinko: Remove free function pointer. We don't copy keys or values while hashing. * include/freetype/internal/fthash.h (FT_Hash_FreeFunc): Removed. (FT_HashRec): Remove `free' field. * src/base/fthash.c (hash_str_free): Removed. (ft_hash_init, ft_hash_free): Updated. 2015-12-20 Werner Lemberg <wl@gnu.org> [base, bdf] Don't expose `FT_Hashnode' in hash functions. * src/base/fthash.c (hash_lookup, ft_hash_str_lookup, ft_hash_num_lookup): Return pointer to `size_t' instead of `FT_Hashnode'. * include/freetype/internal/fthash.h: Updated. * src/bdf/bdflib.c (bdf_get_property, _bdf_add_property, bdf_get_font_property): Updated. 2015-12-20 Werner Lemberg <wl@gnu.org> [base, bdf] Add number hashing. * src/base/fthash.c (hash_num_lookup, hash_num_compare): New functions. (ft_hash_init): Add argument to select between number and string hashing. (ft_hash_num_insert, ft_hash_num_lookup): New functions. * include/freetype/internal/fthash.h: Updated. * src/bdf/bdflib.c (_bdf_parse_start): Updated. 2015-12-20 Werner Lemberg <wl@gnu.org> [base] Introduce hash lookup, compare, and free function pointers. * include/freetype/internal/fthash.c (FT_Hash_LookupFunc, FT_Hash_CompareFunc, FT_Hash_FreeFunc): New typedefs. (FT_HashRec): Add `lookup', `compare', and `free' fields. * src/base/fthash.c (hash_str_lookup, hash_str_compare, hash_str_free): New functions. (ft_hash_init): Set function pointers. (hash_bucket, ft_hash_free): Use them. 2015-12-20 Werner Lemberg <wl@gnu.org> [base, bdf] Use a union as a hash key. We want to support both an integer and a string key later on. * include/freetype/internal/fthash.h (FT_Hashkey): New union. (FT_HashnodeRec): Updated. (ft_hash_insert, ft_hash_lookup): Renamed to ... (ft_hash_str_insert, ft_hash_str_lookup): ... this. * src/base/fthash.c (hash_bucket): Updated. (ft_hash_insert, ft_hash_lookup): Renamed to ... (hash_insert, hash_lookup): ... this. (ft_hash_str_insert, ft_hash_str_lookup): New wrapper functions. * src/bdf/bdflib.c: Updated. 2015-12-19 Werner Lemberg <wl@gnu.org> [bdf] Use new hash functions. * src/bdf/bdf.h: Include FT_INTERNAL_HASH_H. (hashnode, hashtable): Removed. (bdf_font_t): Use `FT_HashRec' type for `proptbl'. * src/bdf/bdflib.c: Remove all hash functions. Update code for new hash structure and function names. 2015-12-19 Werner Lemberg <wl@gnu.org> [bdf, base] Lift hash functions from bdf driver to base module. * src/base/fthash.c, include/freetype/internal/fthash.h: New files, containing (massaged) code from `bdflib.c' and `bdf.h'. * include/freetype/internal/internal.h (FT_INTERNAL_HASH_H): New macro. * src/base/ftbase.c: Include `fthash.c'. * src/base/Jamfile (_sources): Add `fthash'. * src/base/rules.mk (BASE_SRC): Add `fthash.c'. * docs/LICENSE.TXT: Updated. 2015-12-15 Werner Lemberg <wl@gnu.org> [autofit] Add blue-zone support for Bengali script. This essentially moves the Bengali script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Bengali. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Bengali standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Bengali data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Bengali data; in particular, use AF_WRITING_SYSTEM_LATIN. 2015-12-14 Ben Wagner <bungeman@gmail.com> [bdf] Remove dead code (#46625). The BDF specification only allows decimal numbers, no octal or hexadecimal decoding is needed. * src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous, _bdf_atos): Remove unused code and parameters. Update all callers. (odigits): Remove. 2015-12-14 Werner Lemberg <wl@gnu.org> [base] Fix calls to `FT_Stream_Seek'. * src/base/ftobjs.c (Mac_Read_sfnt_Resource, FT_Open_Face): Set `error'. 2015-12-14 Ben Wagner <bungeman@gmail.com> [base] Check error when seeking to data supplied offset (#46635). * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): `ft_lookup_PS_in_sfnt_stream' returns offset and length from user supplied data. Use of this these values must be checked. 2015-12-13 Werner Lemberg <wl@gnu.org> [autofit] Add support for Myanmar script. * src/autofit/afblue.dat: Add blue zone data for Myanmar. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Myanmar standard characters. * src/autofit/afranges.c: Add Myanmar data. * src/autofit/afstyles.h: Add Myanmar data. 2015-12-12 Werner Lemberg <wl@gnu.org> * src/autofit/aflatin.c (af_latin_metrics_init_blues): Minor. 2015-12-12 Werner Lemberg <wl@gnu.org> * src/autofit/afscript.h: Avoid potential crash. 2015-12-10 Werner Lemberg <wl@gnu.org> [autofit] Restore OpenType feature check. This was removed while rewriting the HarfBuzz interface. * src/autofit/afglobal.h (AF_FaceGlobalsRec): Add `hb_buf' field to hold internal HarfBuzz buffer, needed for feature comparison. * src/autofit/afglobal.c (af_face_globals_new, af_face_globals_free): Initialize and destroy `hb_buf'. * src/autofit/afshaper.c (af_shaper_get_cluster): Compare character (cluster) with and without applied feature. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix tracing message. 2015-12-10 Werner Lemberg <wl@gnu.org> [autofit] Remove redundant code. * src/autofit/aflatin.c (af_latin_metrics_init_widths): Do it. 2015-12-09 Werner Lemberg <wl@gnu.org> [autofit] Thinko. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Don't count empty blue zones (bug introduced 2015-12-06). 2015-12-09 Werner Lemberg <wl@gnu.org> [autofit] Introduce subscript top blue zones. This feature is mainly for Khmer: The idea is to avoid a clash between the top of subscript glyphs and the bottom of normal baseline glyphs. This only works for character clusters mapped to multiple glyphs. * src/autofit/afblue.dat: Add subscript top blue zone for Khmer. * src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_SUB_TOP): New macro. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/aflatin.h (AF_LATIN_IS_SUB_TOP_BLUE, AF_LATIN_BLUE_SUB_TOP): New macros. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle new blue zone property. Update tracing messages. (af_latin_metrics_scale_dim): Handle new blue zone property. (af_latin_hints_compute_blue_edges): Updated. 2015-12-09 Werner Lemberg <wl@gnu.org> [autofit] Fix tracing message. * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Display inactive blue zones also. 2015-12-06 Werner Lemberg <wl@gnu.org> * src/autofit/afblue.dat: Add more Khmer clusters. Some fonts have incorrect ligatures; we need more samples to get a good mean value. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. 2015-12-06 Werner Lemberg <wl@gnu.org> [autofit] Typos. * src/autofit/afshaper.c (af_shaper_buf_create, af_shaper_get_elem) [!FT_CONFIG_OPTION_USE_HARFBUZZ]: Make it compile. 2015-12-06 Werner Lemberg <wl@gnu.org> [autofit] Add support for Khmer script. We split Khmer into two auto-hinter scripts: `Khmer' (`khmr') and `Khmer symbols' (`khms', U+19E0-U+19FF). * src/autofit/afblue.dat: Add blue zone data for Khmer. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Khmer standard characters. * src/autofit/afranges.c: Add Khmer data. * src/autofit/afstyles.h: Add Khmer data. 2015-12-06 Werner Lemberg <wl@gnu.org> [autofit] Rewrite HarfBuzz interface to support character clusters. Scripts like Khmer have blue zones that can't be directly represented by Unicode characters. Instead, it is necessary to let HarfBuzz convert character clusters into proper glyph representation forms, then deriving the blue zone information from the resulting glyphs. * src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by... * src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new files, providing a new API to access HarfBuzz. The new API manages a HarfBuzz buffer with `af_shaper_buf_create' and `af_shaper_buf_destroy'. The buffer receives a UTF8 encoded string with function `af_shaper_get_cluster', and the resulting glyph data (indices, advance widths, vertical offsets) can be iteratively accessed with function `af_shaper_get_elem'. * src/autofit/afcjk.c (af_cjk_metrics_init_widths, af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated. * src/autofit/aflatin.c (af_latin_metrics_init_widths, af_latin_metrics_init_blues, af_latin_metrics_check_digits): Updated. * include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/. * src/autofit/afglobal.c: s/hbshim.h/afshaper.h/. (af_face_globals_compute_style_coverage): Updated. * src/autofit/afglobal.h: s/hbshim.h/afshaper.h/. * src/autofit/autofit.c: s/hbshim.c/afshaper.c/. * src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC): Updated. 2015-12-06 Werner Lemberg <wl@gnu.org> [autofit] Prepare forthcoming changes. This makes it easier to control the commits. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Add dummy loop. No functional change. 2015-12-06 Werner Lemberg <wl@gnu.org> [autofit] Use string of standard characters. This is more flexible; additionally, it would allow character clusters. * src/autofit/aftypes.h (SCRIPT, AF_DEFINE_SCRIPT_CLASS): Updated. (AF_ScriptClassRec): Replace `standard_char[123]' with `standard_charstring'. * src/autofit/afscript.h: Replace last three character arguments of the `SCRIPT' calls with a string parameter, holding the standard characters (in UTF-8 encoding) separated with spaces. * src/autofit/afglobal.c, src/autofit/afglobal.h, src/autofit/afpic.c, src/autofit/afranges.c, src/autofit/hbshim.c (SCRIPT): Updated. * src/autofit/afcjk.c (af_cjk_metrics_init_widths), src/autofit/aflatin.c (af_latin_metrics_init_widths): Updated. 2015-12-05 Werner Lemberg <wl@gnu.org> * src/autofit/afblue.dat: Separate blue zone characters with spaces. Another preparation for character cluster support. * src/autofit/afblue.c, src/autofit.afblue.h: Regenerated. 2015-12-05 Werner Lemberg <wl@gnu.org> * src/tools/afblue.pl (convert_ascii_chars): Don't ignore spaces. Instead, reduce multiple spaces to a single one. We need this later for supporting character clusters in `afblue.dat'. 2015-12-05 Werner Lemberg <wl@gnu.org> * src/autofit/afblue.hin (GET_UTF8_CHAR): Use `do...while(0)'. * src/autofit/afblue.h: Regenerated. 2015-12-05 Werner Lemberg <wl@gnu.org> * src/autofit/afwarp.c: s/INT_MIN/FT_INT_MIN/. 2015-12-03 Werner Lemberg <wl@gnu.org> * builds/unix/install.mk (install): Remove stale `ft2build.h'. 2015-12-01 Werner Lemberg <wl@gnu.org> [type1] Avoid dangling pointer (#46572). * src/type1/t1afm.c (T1_Read_Metrics): Properly reset `face->afm_data'. 2015-11-28 Alexei Podtelezhnikov <apodtele@gmail.com> * include/freetype/ftlcdfil.h: Documentation tweak. 2015-11-28 Werner Lemberg <wl@gnu.org> * Version 2.6.2 released. ========================= Tag sources with `VER-2-6-2'. * docs/VERSION.DLL: Update documentation and bump version number to 2.6.2. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.6.1/2.6.2/, s/261/262/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2. * builds/unix/configure.raw (version_info): Set to 18:2:12. * CMakeLists.txt (VERSION_PATCH): Set to 2. * docs/CHANGES: Updated. 2015-11-28 Werner Lemberg <wl@gnu.org> Fix C++ compilation. * src/autofit/afloader.c: Include FT_INTERNAL_CALC_H. * src/truetype/ttgload.c (load_truetype_glyph): Pacify compiler. 2015-11-28 Nikolaus Waxweiler <madigens@gmail.com> Change default LCD filter to be normalized and color-balanced. * src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Update `default_filter'. 2015-11-28 Werner Lemberg <wl@gnu.org> [docmaker] Allow references to section names. In the reference, we show the section's title enclosed in single quotes. * src/tools/docmaker/formatter.py (Formatter::__init__): Collect section names as identifiers. * src/tools/docmaker/tohtml.py (section_title_header): Split into... (section_title_header1, section_title_header2): ... these two strings. (HtmlFormatter::make_block_url, make_html_word, html_source_quote): Handle sections. (HtmlFormatter::section_enter): Updated to add `id' HTML attribute. 2015-11-27 Tamas Kenez <tamas.kenez@adasworks.com> [cmake] Add script to test the config module. * builds/cmake/testbuild.sh: New file. 2015-11-27 Tamas Kenez <tamas.kenez@adasworks.com> * CMakeLists.txt: Create `freetype-config.cmake' config module. 2015-11-27 Tamas Kenez <tamas.kenez@adasworks.com> * CMakeLists.txt: Set CMAKE_DEBUG_POSTFIX to `d'. 2015-11-27 Tamas Kenez <tamas.kenez@adasworks.com> [cmake] Add better control of library dependencies. * CMakeLists.txt: Add `WITH_*' variables to force/auto/omit ZLIB/BZip2/PNG/HarfBuzz. 2015-11-27 Tamas Kenez <tamas.kenez@adasworks.com> [cmake] Make `FindHarfBuzz' observe the REQUIRED option. * builds/cmake/FindHarfBuzz.cmake: Implement it. 2015-11-27 Werner Lemberg <wl@gnu.org> [cmake] Collect files specific to cmake in `builds/cmake'. * builds/FindHarfBuzz.cmake: Move to ... * builds/cmake/FindHarfBuzz.cmake: ... this place. * CMakeLists.txt (CMAKE_MODULE_PATH): Updated. 2015-11-27 Alexander Bock <alexander.j.bock@nasa.gov> CMakeLists.txt: Honour new command line flag `FREETYPE_NO_DIST'. 2015-11-26 Werner Lemberg <wl@gnu.org> [docmaker] Allow `foo[bar]' as identifier. We need this to handle equally named properties in different modules. * src/tools/docmaker/content.py (re_identifier), src/tools/docmaker/sources.py (re_crossref): Allow `foo[bar]'. * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word, HtmlFormatter::index_exit, HtmlFormatter::section_enter, HtmlFormatter::block_enter): Handle `foo[bar]'. 2015-11-25 Werner Lemberg <wl@gnu.org> * src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46480). (_bdf_parse_glyphs): Always reset `p->glyph_name' after moving its contents. 2015-11-21 Werner Lemberg <wl@gnu.org> * include/freetype/internal/ftcalc.h: Don't use `register' keyword. This fixes compiler warnings. Reported by Behdad. 2015-11-20 Werner Lemberg <wl@gnu.org> Add `FT_LCD_FILTER_LEGACY1' enum value. This does the same as `FT_LCD_FILTER_LEGACY'. See https://bugs.freedesktop.org/show_bug.cgi?id=92981 for the reasoning. * include/freetype/ftlcdfil.h (FT_LcdFilter): New value `FT_LCD_FILTER_LEGACY1'. * src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it. 2015-11-15 Werner Lemberg <wl@gnu.org> * src/autofit/afhints.c (af_get_segment_index): Fix it. The old code was too simple, returning invalid values in most cases where a segment crosses the contour start. 2015-11-15 Werner Lemberg <wl@gnu.org> * src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46439). 2015-11-11 Werner Lemberg <wl@gnu.org> [cff, autofit] Switch off stem darkening by default. * src/autofit/afmodule.c (af_autofitter_init), src/cff/cffobjs.c (cff_driver_init): Do it. 2015-11-10 Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Allow native CFF hinter in FT_RENDER_MODE_LIGHT. Both the native CFF hinter and the auto-hinter now have a very similar rendering style. * include/freetype/freetype.h: Mention that FT_LOAD_TARGET_LIGHT no longer implies FT_LOAD_FORCE_AUTOHINT. * include/freetype/ftmodapi.h (FT_MODULE_DRIVER_HINTS_LIGHTLY): New macro. * include/freetype/internal/ftobjs.h (FT_DRIVER_HINTS_LIGHTLY): New macro. * src/cff/cffdrivr.c (cff_driver_class): Use it. * src/base/ftobjs.c (FT_Load_Glyph): Update auto-hinter selection logic. 2015-11-09 Werner Lemberg <wl@gnu.org> * src/cid/cidload.c (cid_face_open): Fix GDBytes guard (#46408). 2015-11-09 Werner Lemberg <wl@gnu.org> [truetype] Remove integer to pointer conversion compiler warning. Problem reported by Alexei. * src/truetype/ttgload.c (load_truetype_glyph): Use a solution found in the glib library to fix the issue. 2015-11-08 Behdad Esfahbod <behdad@behdad.org> [sfnt] Accept version 3 of `EBLC' and `CBLC' tables also. * src/sfnt/ttsbit.c (tt_face_load_sbit): Implement it. 2015-11-08 Philipp Knechtges <philipp-dev@knechtges.com> [autofit] Don't distort (latin) glyphs too much (#46195). * src/autofit/aflatin.h (AF_LatinBlueRec): Add `ascender' and `descender' fields. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Collect ascender and descender data for blue zones. (af_latin_metrics_scale_dim): Reject vertical scaling values that change the result by more than two pixels. 2015-11-05 Werner Lemberg <wl@gnu.org> [sfnt] Ignore embedded bitmaps with zero size (#46379). * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Implement it. 2015-11-04 Werner Lemberg <wl@gnu.org> [truetype] Catch infinite recursion in subglyphs (#46372). * include/freetype/internal/tttypes.h (TT_LoaderRec): New field `composites'. * src/truetype/ttgload.c: Include FT_LIST_H. (load_truetype_glyph): Add composite subglyph index to a list; abort if index is already in list. (tt_loader_init): Updated. (tt_loader_done): New function. (TT_Load_Glyph): Call `tt_loader_done'. 2015-11-04 Werner Lemberg <wl@gnu.org> [truetype] Better tracing of composite glyphs. * src/truetype/ttgload.c (TT_Load_Composite_Glyph, load_truetype_glyph): Implement it. 2015-11-03 Werner Lemberg <wl@gnu.org> [sfnt] Protect against zero-size bitmaps (#46345). * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Check `glyph_size'. 2015-11-02 Nikolaus Waxweiler <madigens@gmail.com> * src/autofit/afloader.c (af_loader_load_g): Implement emboldening. 2015-11-02 Nikolaus Waxweiler <madigens@gmail.com> [autofit] Implement darkening computation function. This is a crude adaption of the original `cf2_computeDarkening' function. * src/autofit/afloader.c (af_intToFixed, af_fixedToInt, af_floatToFixed): New macros, taken from `cf2fixed.h'. (af_loader_compute_darkening): New function. * src/autofit/afloader.h: Updated. 2015-11-02 Nikolaus Waxweiler <madigens@gmail.com> [autofit] Add functions to get standard widths for writing systems. We need the computed standard horizontal and vertical widths for the emboldening calculation. This method provides a convenient way to extract it from writing-system-specific metrics structures, which all script definitions must implement. * src/autofit/aftypes.h (AF_WritingSystem_GetStdWidthsFunc): New function type. (AF_WritingSystemClassRec): New member `style_metrics_getstdw'. (AF_DEFINE_WRITING_SYSTEM_CLASS): Updated. * src/autofit/afcjk.c (af_cjk_get_standard_width): New function. (af_cjk_writing_system_class): Updated. * src/autofit/afdummy.c (af_dummy_writing_system_class): Updated. * src/autofit/afindic.c (af_cjk_get_standard_width): New function. (af_indic_writing_system_class): Updated. * src/autofit/aflatin.c (af_latin_get_standard_width): New function. (af_indic_writing_system_class): Updated. * src/autofit/aflatin.c (af_latin_get_standard_width): New function. (af_indic_writing_system_class): Updated. 2015-11-02 Nikolaus Waxweiler <madigens@gmail.com> [autofit] Extend `AF_FaceGlobalsRec' to hold emboldening data. * src/autofit/afglobal.h (AF_FaceGlobalsRec): Add fields. * src/autofit/afglobal.c (af_face_globals_new): Initialize new fields. (af_face_globals_free): Reset new fields. 2015-11-02 Nikolaus Waxweiler <madigens@gmail.com> [autofit] Add stem-darkening properties. Actual code follows in a later commit. * include/freetype/ftautoh.h: Document `no-stem-darkening' and `darkening-parameters'. * src/autofit/afmodule.h: New fields `no_stem_darkening' and `darken_params'. * src/autofit/afmodule.c (af_property_set, af_property_get): Handle them. (af_autofitter_init): Initialize them. 2015-11-02 Ben Wagner <bungeman@gmail.com> [ftfuzzer] Add support for multiple files (patch #8779). Currently, libFuzzer only supports mutation of a single file. We circumvent this problem by using an uncompressed tar archive as multiple-file input for the fuzzer. This patch enables tests of `FT_Attach_Stream' and AFM/PFM parsing; a constructed tarball should contain a font file as the first element, and files to be attached as further elements. * src/tools/ftfuzzer/ftfuzzer.cc: Include libarchive headers. (archive_read_entry_data, parse_data): New functions. (LLVMFuzzerTestOneInput): Updated. * src/tools/ftfuzzer/ftmutator.cc: New file, providing a custom mutator for libFuzzer that can mutate tarballs in a sensible way. 2015-10-31 Werner Lemberg <wl@gnu.org> [sfnt] Fix cmap 14 validation (#46346). * src/sfnt/ttcmap.c (tt_cmap14_validate): Check limit before accessing `numRanges' and `numMappings'. Fix size check for non-default UVS table. 2015-10-31 Werner Lemberg <wl@gnu.org> [sfnt] Handle infinite recursion in bitmap strikes (#46344). * src/sfnt/ttsbit.c (TT_SBitDecoder_LoadFunc, tt_sbit_decoder_load_bitmap, tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_png): Add argument for recursion depth. (tt_sbit_decoder_load_compound): Add argument for recursion depth. Increase recursion counter for recursive call. (tt_sbit_decoder_load_image): Add argument for recursion depth. Check recurse depth. (tt_face_load_sbit_image): Updated. 2015-10-29 Werner Lemberg <wl@gnu.org> * src/autofit/afhints.c (af_glyph_hints_dump_points): Minor. 2015-10-29 Werner Lemberg <wl@gnu.org> * CMakeLists.txt: Remove code to set MSVC's /FD compiler switch. Problem reported by David Capello <davidcapello@gmail.com>; see http://lists.nongnu.org/archive/html/freetype-devel/2015-10/msg00108.html for details. 2015-10-27 Werner Lemberg <wl@gnu.org> [pfr] Add some safety guards (#46302). * src/pfr/pfrload.h (PFR_CHECK): Rename to... (PFR_CHECK_SIZE): ... this. (PFR_SIZE): [!PFR_CONFIG_NO_CHECKS]: Define to PFR_CHECK_SIZE. * src/pfr/pfrload.c (pfr_log_font_count): Check `count'. (pfr_extra_item_load_kerning_pairs): Remove tracing message. (pfr_phy_font_load): Use PFR_CHECK_SIZE where appropriate. Allocate `chars' after doing a size checks. * src/pfr/pfrsbit.c (pfr_load_bitmap_bits): Move test for invalid bitmap format to... (pfr_slot_load_bitmap): ... this function. Check bitmap size. 2015-10-26 Werner Lemberg <wl@gnu.org> [truetype] Fix sanitizing logic for `loca' (#46223). * src/truetype/ttpload.c (tt_face_load_loca): A thinko caused an incorrect adjustment of the number of glyphs, most often using far too large values. 2015-10-25 Werner Lemberg <wl@gnu.org> [autofit] Improve tracing. * src/autofit/afhints.c (af_print_idx, af_get_segment_index, af_get_edge_index): New functions. (af_glyph_hints_dump_points): Remove unnecessary `|', `[', and `]'. Add segment and edge index for each point. Slightly change printing order of some elements. Don't print `-1' but `--' for missing elements. (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Remove unnecessary `|', `[', and `]'. Don't print `-1' but `--' for missing elements. 2015-10-24 Werner Lemberg <wl@gnu.org> [sfnt] Sanitize bitmap strike glyph height. Problem reported by Nikolay Sivov <bunglehead@gmail.com>. * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Avoid zero value for `metrics->height' by applying some heuristics. 2015-10-22 Werner Lemberg <wl@gnu.org> [sfnt, type42] Fix clang compiler warnings. * src/sfnt/sfobjs.c (sfnt_init_face): Initialize `offset'. * src/type42/t42parse.c (t42_parse_sfnts): Use proper cast. 2015-10-22 Dave Arnold <darnold@adobe.com> Werner Lemberg <wl@gnu.org> [cff] Avoid overflow/module arithmetic. This modifies the addition of subroutine number to subroutine bias from unsigned to signed, but does not change any results. * src/cff/cf2ft.c (cf2_initGlobalRegionBuffer, cf2_initLocalRegionBuffer): Change variable names from (unsigned) `idx' to (signed) `subrNum', since it is not an index until after the bias is added. * src/cff/cf2ft.h: Updated. * src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>: Updated similarly. 2015-10-22 Werner Lemberg <wl@gnu.org> [cid] Better check of `SubrCount' dictionary entry (#46272). * src/cid/cidload.c (cid_face_open): Add more sanity tests for `fd_bytes', `gd_bytes', `sd_bytes', and `num_subrs'. 2015-10-21 Werner Lemberg <wl@gnu.org> [base] Pacify compiler (#46266). * src/base/ftoutln.c (FT_Outline_EmboldenXY): Initialize `in' and `anchor'. 2015-10-21 Werner Lemberg <wl@gnu.org> [type42] Fix heap buffer overflow (#46269). * src/type42/t42parse.c (t42_parse_sfnts): Fix off-by-one error in bounds checking. 2015-10-21 Dave Arnold <darnold@adobe.com> [cff] Fix limit in assert for max hints. * src/cff/cf2interp.c (cf2_hintmask_setAll): Allow mask equal to the limit (96 bits). 2015-10-21 Dave Arnold <darnold@adobe.com> [cff] Remove an assert (#46107). * src/cff/cf2hints.c (cf2_hintmap_insertHint): Ignore paired edges in wrong order. 2015-10-21 Werner Lemberg <wl@gnu.org> [sfnt] Avoid unnecessarily large allocation for WOFFs (#46257). * src/sfnt/sfobjs.c (woff_open_font): Use WOFF's `totalSfntSize' only after thorough checks. Add tracing messages. 2015-10-21 Werner Lemberg <wl@gnu.org> [type42] Better check invalid `sfnts' array data (#46255). * src/type42/t42parse.c (t42_parse_sfnts): Table lengths must be checked individually against available data size. 2015-10-20 Werner Lemberg <wl@gnu.org> [cid] Add a bunch of safety checks. * src/cid/cidload.c (parse_fd_array): Check `num_dicts' against stream size. (cid_read_subrs): Check largest offset against stream size. (cid_parse_dict): Move safety check to ... (cid_face_open): ... this function. Also test length of binary data and values of `SDBytes', `SubrMapOffset', `SubrCount', `CIDMapOffset', and `CIDCount'. 2015-10-20 Werner Lemberg <wl@gnu.org> [cid] Avoid segfault with malformed input (#46250). * src/cid/cidload.c (cid_read_subrs): Return a proper error code for unsorted offsets. 2015-10-20 StudioEtrange <nomorgan@gmail.com> * CMakeLists.txt: Enable shared library builds on MinGW (#46233). 2015-10-20 Werner Lemberg <wl@gnu.org> * src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229). 2015-10-19 Ben Wagner <bungeman@gmail.com> [cid] Better handle invalid glyph stream offsets (#46221). * src/cid/cidgload.c (cid_load_glyph): Check minimum size of glyph length. 2015-10-18 Werner Lemberg <wl@gnu.org> [psaux] Fix tracing of negative numbers. Due to incorrect casting negative numbers were shown as very large (positive) integers on 64bit systems. * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <op_none>: Use division instead of shift. 2015-10-18 Werner Lemberg <wl@gnu.org> [truetype] Improve TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46223). * devel/ftoption.h, include/freetype/config/ftoption.h: Surround it with #ifndef ... #endif, as suggested in the tracker issue. 2015-10-18 Werner Lemberg <wl@gnu.org> [truetype] Better protection against malformed `fpgm' (#46223). * src/truetype/ttobjs.c (tt_size_init_bytecode): Don't execute a malformed `fpgm' table more than once. 2015-10-17 Werner Lemberg <wl@gnu.org> * src/cid/cidgload.c (cid_load_glyph): Fix memory leak. Reported by Kostya Serebryany <kcc@google.com>. 2015-10-17 Werner Lemberg <wl@gnu.org> [bdf] Prevent memory leak (#46217). * src/bdf/bdflib.c (_bdf_parse_glyphs) <STARTCHAR>: Check _BDF_GLYPH_BITS. 2015-10-17 Werner Lemberg <wl@gnu.org> [bdf] Use stream size to adjust number of glyphs. * src/bdf/bdflib.c (ACMSG17): New message macro. (_bdf_parse_t): Add member `size'. (bdf_load_font): Set `size'. (_bdf_parse_glyphs): Adjust `cnt' if necessary. 2015-10-17 Werner Lemberg <wl@gnu.org> * src/cid/cidload.c (cid_parse_dict): Check `[FG]DBytes' size. 2015-10-17 Werner Lemberg <wl@gnu.org> * src/cid/cidgload.c (cid_glyph_load): Check file offsets (#46222). 2015-10-17 Werner Lemberg <wl@gnu.org> [psaux] Fix heap buffer overflow (#46221). * src/psaux/t1decode.c (t1_decoder_parse_charstring) <operator 12>: Fix limit check. 2015-10-17 Werner Lemberg <wl@gnu.org> * src/cid/cidload.c (cid_parse_dict): Handle invalid input (#46220). 2015-10-15 Kostya Serebryany <kcc@google.com> [ftfuzzer] Add README. * src/tools/ftfuzzer/README: New file. 2015-10-15 Ben Wagner <bungeman@gmail.com> [bdf] Fix memory leak (#46213). * src/bdf/bdflib.c (bdf_load_font): Always go to label `Fail' in case of error. 2015-10-15 Werner Lemberg <wl@gnu.org> [truetype] Add TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46208). * devel/ftoption.h, include/freetype/config/ftoption.h (TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES): New configuration macro. * src/truetype/ttinterp.c (MAX_RUNNABLE_OPCODES): Removed. (TT_RunIns): Updated. 2015-10-15 Werner Lemberg <wl@gnu.org> * src/truetype/ttinterp.c (TT_RunIns): Fix bytecode stack tracing. The used indices were off by 1. 2015-10-15 Ben Wagner <bungeman@gmail.com> Werner Lemberg <wl@gnu.org> * src/tools/ftfuzzer/ftfuzzer.cc: Handle fixed sizes (#46211). 2015-10-15 Werner Lemberg <wl@gnu.org> [base] Compute MD5 checksums only if explicitly requested. This improves profiling accuracy. * src/base/ftobjs.c (FT_Render_Glyph_Internal): Implement it. 2015-10-14 Werner Lemberg <wl@gnu.org> [base] Use `FT_' namespace for MD5 functions (#42366). * src/base/ftobjs.c (MD5_*): Define as `FT_MD5_*'. Undefine HAVE_OPENSSL. 2015-10-13 Werner Lemberg <wl@gnu.org> [type1] Correctly handle missing MM axis names (#46202). * src/type1/t1load.c (T1_Get_MM_Var): Implement it. 2015-10-13 Werner Lemberg <wl@gnu.org> [pcf] Quickly exit if font index < 0. Similar to other font formats, this commit makes the parser no longer check the whole PCF file but only the header and the TOC if we just want to get the number of available faces (and a proper recognition of the font format). * src/pcf/pcfdrivr.c (PCF_Face_Init): Updated. Exit quickly if face_index < 0. * src/pcfread.c (pcf_load_font): Add `face_index' argument. Exit quickly if face_index < 0. * src/pcf/pcf.h: Updated. 2015-10-13 Werner Lemberg <wl@gnu.org> [ftfuzzer] Handle TTCs and MM/GX variations. This patch also contains various other improvements. * src/tools/ftfuzzer/ftfuzzer.cc: Add preprocessor guard to reject pre-C++11 compilers. (FT_Global): New class. Use it to provide a global constructor and destructor for the `FT_Library' object. (setIntermediateAxis): New function to select an (arbitrary) instance. (LLVMFuzzerTestOneInput): Loop over all faces and named instances. Also call `FT_Set_Char_Size'. 2015-10-13 Werner Lemberg <wl@gnu.org> [truetype] Refine some GX sanity tests. Use the `gvar' table size instead of the remaining bytes in the stream. * src/truetype/ttgxvar.h (GX_BlendRec): New field `gvar_size'. * src/truetype/ttgxvar.c (ft_var_load_gvar): Set `gvar_size'. (ft_var_readpackedpoints, ft_var_readpackeddeltas: New argument `size'. (tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Updated. 2015-10-13 Werner Lemberg <wl@gnu.org> [truetype] Another GX sanity test. * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Check `tupleCount'. Add tracing message. 2015-10-13 Werner Lemberg <wl@gnu.org> [truetype] Fix memory leak for broken GX fonts (#46188). * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix scope of deallocation. 2015-10-13 Werner Lemberg <wl@gnu.org> [truetype] Fix commit from 2015-10-10. * src/truetype/ttgxvar.c (ft_var_load_gvar): Add missing error handling body to condition. 2015-10-12 Werner Lemberg <wl@gnu.org> [unix] Make MKDIR_P actually work. * builds/unix/configure.raw: Fix underquoting of `INSTALL' and `MKDIR_P'. Problem reported by Dan Liddell <lddll@yahoo.com>. 2015-10-11 Werner Lemberg <wl@gnu.org> [sfnt] Improve extraction of number of named instances. * src/sfnt/sfobjs.c (sfnt_init_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check number of instances against `fvar' table size. 2015-10-10 Alexei Podtelezhnikov <apodtele@gmail.com> * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow (#46149). 2015-10-10 Werner Lemberg <wl@gnu.org> [sfnt] Fix infinite loops with broken cmaps (#46167). * src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next): Take care of border conditions (i.e., if the loops exit naturally). 2015-10-10 Werner Lemberg <wl@gnu.org> [truetype] More sanity tests for GX handling. These tests should mainly help avoid unnecessarily large memory allocations in case of malformed fonts. * src/truetype/ttgxvar.c (ft_var_readpackedpoints, ft_var_readpackeddeltas): Check number of points against stream size. (ft_var_load_avar): Check `pairCount' against table length. (ft_var_load_gvar): Check `globalCoordCount' and `glyphCount' against table length. (tt_face_vary_cvt): Check `tupleCount' and `offsetToData'. Fix trace. (TT_Vary_Apply_Glyph_Deltas): Fix trace. Free `sharedpoints' to avoid memory leak. 2015-10-10 Werner Lemberg <wl@gnu.org> [truetype] Better protection against malformed GX data (#46166). * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Correctly handle empty `localpoints' array. 2015-10-10 Werner Lemberg <wl@gnu.org> * src/pcf/pcfread.c (pcf_read_TOC): Check stream size (#46162). 2015-10-09 Werner Lemberg <wl@gnu.org> * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use real stream size. 2015-10-08 Werner Lemberg <wl@gnu.org> [pcf] Protect against invalid number of TOC entries (#46159). * src/pcf/pcfread.c (pcf_read_TOC): Check number of TOC entries against size of data stream. 2015-10-08 Werner Lemberg <wl@gnu.org> [type42] Protect against invalid number of glyphs (#46159). * src/type42/t42parse.c (t42_parse_charstrings): Check number of `CharStrings' dictionary entries against size of data stream. 2015-10-08 Werner Lemberg <wl@gnu.org> [sfnt] Fix some signed overflows (#46149). * src/sfnt/ttsbit.c (tt_face_load_strike_metrics) <TT_SBIT_TABLE_TYPE_SBIX>: Use `FT_MulDiv'. 2015-10-08 Werner Lemberg <wl@gnu.org> [type1] Protect against invalid number of subroutines (#46150). * src/type1/t1load.c (parse_subrs): Check number of `Subrs' dictionary entries against size of data stream. 2015-10-07 Kostya Serebryany <kcc@google.com> [ftfuzzer] Add support for LLVM's LibFuzzer. * src/tools/ftfuzzer/ftfuzzer.cc, src/tools/runinput.cc: New files. 2015-10-06 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Faster alternative line renderer. This implementation renders the entire line segment at once without subdividing it into scanlines. The main speed improvement comes from reducing the number of divisions to just two per line segment, which is a bare minimum to calculate cell coverage in a smooth rasterizer. Notably, the progression from cell to cell does not itself require any divisions at all. The speed improvement is more noticeable at larger sizes. * src/smooth/ftgrays.c (gray_render_line): New implementation. 2015-10-06 Werner Lemberg <wl@gnu.org> [cff] Return correct PS names from pure CFF (#46130). * src/cff/cffdrivr.c (cff_get_ps_name): Use SFNT service only for SFNT. 2015-10-04 Werner Lemberg <wl@gnu.org> [base] Replace left shifts with multiplication (#46118). * src/base/ftglyph.c (ft_bitmap_glyph_bbox, FT_Get_Glyph): Do it. 2015-10-04 Werner Lemberg <wl@gnu.org> * Version 2.6.1 released. ========================= Tag sources with `VER-2-6-1'. * docs/VERSION.DLL: Update documentation and bump version number to 2.6.1. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.6/2.6.1/, s/26/261/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. * builds/unix/configure.raw (version_info): Set to 18:1:12. * CMakeLists.txt (VERSION_PATCH): Set to 1. * src/autofit/afmodule.c [AF_DEBUG_AUTOFIT]: Ensure C linking for dumping functions. 2015-10-04 Werner Lemberg <wl@gnu.org> [bzip2, gzip] Avoid access of uninitialized memory (#46109). * src/bzip2/ftbzip2.c (ft_bzip2_file_fill_input), src/gzip/ftgzip.c (ft_gzip_file_fill_input): In case of an error, adjust the limit to avoid copying uninitialized memory. 2015-10-03 Werner Lemberg <wl@gnu.org> [bzip2, gzip] Avoid access of uninitialized memory (#46109). * src/bzip2/ftbzip2.c (ft_bzip2_file_fill_output), src/gzip/ftgzip.c (ft_gzip_file_fill_output): In case of an error, adjust the limit to avoid copying uninitialized memory. 2015-10-01 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Clean up worker. * src/smooth/ftgrays.c (gray_TWorker): Remove never used fields. 2015-10-01 Werner Lemberg <wl@gnu.org> [sfnt] Make `tt_cmap4_char_map_linear' more robust (#46078). * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Take care of border conditions (i.e., if the loop exits naturally). 2015-10-01 Werner Lemberg <wl@gnu.org> * src/autofit/afranges.c (af_deva_nonbase_uniranges): Fix ranges. They should be a subset of `af_deva_uniranges'. 2015-10-01 Werner Lemberg <wl@gnu.org> [sfnt] Make `tt_cmap4_char_map_linear' faster (#46078). * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to reject too large glyph indices. 2015-09-30 Alexei Podtelezhnikov <apodtele@gmail.com> [smooth] Clean up worker. * src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'. (gray_start_cell, gray_render_line): Update. 2015-09-30 Werner Lemberg <wl@gnu.org> [autofit] Replace `no-base' with `non-base'. * src/autofit/*: Do it. 2015-09-30 Werner Lemberg <wl@gnu.org> [sfnt] Rewrite `tt_cmap4_char_map_linear' (#46078). * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Add code to better skip invalid segments. If searching the next character, provide a more efficient logic to speed up the code. 2015-09-30 Werner Lemberg <wl@gnu.org> [truetype] Adjust number of glyphs for malformed `loca' tables. * src/truetype/ttpload.c (tt_face_load_loca): Implement it. 2015-09-29 Werner Lemberg <wl@gnu.org> [pshinter] Avoid harmless overflow (#45984). * src/pshinter/pshglob.c (psh_blues_set_zones): Fix it. 2015-09-28 Werner Lemberg <wl@gnu.org> [autofit] Add support for Lao script. Thanks to Danh Hong <danhhong@gmail.com> for guidance with blue zone characters! * src/autofit/afblue.dat: Add blue zone data for Lao. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Lao standard characters. * src/autofit/afranges.c: Add Lao data. * src/autofit/afstyles.h: Add Lao data. 2015-09-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> [base] Fix a leak by broken sfnt-PS or resource fork (#46028). open_face_from_buffer() frees passed buffer if valid font is not found. But if copying to the buffer is failed, the allocated buffer should be freed within the caller. * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Free the buffer `sfnt_ps' if an error caused before calling open_face_from_buffer(). (Mac_Read_sfnt_Resource): Free the buffer `sfnt_data' if an error caused before calling open_face_from_buffer(); 2015-09-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> [mac] Fix buffer size calculation for LWFN font. * src/base/ftmac.c (read_lwfn): Cast post_size to FT_ULong to prevent confused copy by too large chunk size. 2015-09-26 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (PIXEL_MASK): Remove unused macro. 2015-09-26 Werner Lemberg <wl@gnu.org> [autofit] Minor tracing improvement. * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Don't emit blue zones header line if there are no blue zones. 2015-09-26 Werner Lemberg <wl@gnu.org> [bzip2, gzip, lzw] Harmonize function signatures with prototype. Suggested by Hin-Tak Leung. * src/bzip2/ftbzip2.c (ft_bzip2_stream_io), src/gzip/ftgzip.c (ft_gzip_stream_io), src/lzw/ftlzw.c (ft_lzw_stream_io): Do it. 2015-09-26 Hin-Tak Leung <htl10@users.sourceforge.net> Add new FT_LOAD_COMPUTE_METRICS load flag. * include/freetype/freetype.h (FT_LOAD_COMPUTE_METRICS): New macro. * src/truetype/ttgload.c (compute_glyph_metrics): Usage. 2015-09-26 Werner Lemberg <wl@gnu.org> * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add cast. 2015-09-25 Werner Lemberg <wl@gnu.org> [type1] Protect against invalid number of glyphs (#46029). * src/type1/t1load.c (parse_charstrings): Check number of `CharStrings' dictionary entries against size of data stream. 2015-09-23 Werner Lemberg <wl@gnu.org> [sfnt] Better checks for invalid cmaps (2/2) (#46019). While the current code in `FT_Get_Next_Char' correctly rejects out-of-bounds glyph indices, it can be extremely slow for malformed cmaps that use 32bit values. This commit tries to improve that. * src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next, tt_cmap12_char_map_binary, tt_cmap13_next, tt_cmap13_char_map_binary): Reject glyph indices larger than or equal to the number of glyphs. 2015-09-23 Werner Lemberg <wl@gnu.org> [base, sfnt] Better checks for invalid cmaps (1/2). * src/base/ftobjs.c (FT_Get_Char_Index): Don't return out-of-bounds glyph indices. (FT_Get_First_Char): Updated. * src/sfnt/ttcmap.c (tt_cmap6_char_next): Don't return character codes greater than 0xFFFF. (tt_cmap8_char_index): Avoid integer overflow in computation of glyph index. (tt_cmap8_char_next): Avoid integer overflows in computation of both next character code and glyph index. (tt_cmap10_char_index): Fix unsigned integer logic. (tt_cmap10_char_next): Avoid integer overflow in computation of next character code. (tt_cmap12_next): Avoid integer overflows in computation of both next character code and glyph index. (tt_cmap12_char_map_binary): Ditto. (tt_cmap12_char_next): Simplify. (tt_cmap13_char_map_binary): Avoid integer overflow in computation of next character code. (tt_cmap13_char_next): Simplify. 2015-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> [base] Check too long POST and sfnt resource (#45919). * src/base/ftbase.h (FT_MAC_RFORK_MAX_LEN): Maximum length of the resource fork for Mac OS. Resource forks larger than 16 MB can be written but can't be handled correctly, at least in Carbon routine. See https://support.microsoft.com/en-us/kb/130437. * src/base/ftobjs.c (Mac_Read_POST_Resource): No need to use `0x' prefix for `%p' formatter. * src/base/ftbase.c (Mac_Read_POST_Resource): Check the fragment and total size of the concatenated POST resource before buffer allocation. (Mac_Read_sfnt_Resource): Check the declared size of sfnt resource before buffer allocation. * src/base/ftmac.c (read_lwfn, FT_New_Face_From_SFNT): Check the total resource size before buffer allocation. 2015-09-19 Werner Lemberg <wl@gnu.org> [sfnt] Improve handling of invalid SFNT table entries (#45987). This patch fixes weaknesses in function `tt_face_load_font_dir'. - It incorrectly assumed that valid tables are always at the beginning. As a consequence, some valid tables after invalid entries (which are ignored) were never seen. - Duplicate table entries (this is, having the same tag) were not rejected. - The number of valid tables was sometimes too large, leading to access of invalid tables. * src/sfnt/ttload.c (check_table_dir): Add argument to return number of valid tables. Add another tracing message. (tt_face_load_font_dir): Only allocate table array for valid entries as returned by `check_table_dir'. Reject duplicate tables and adjust number of valid tables accordingly. 2015-09-19 Werner Lemberg <wl@gnu.org> [pcf] Improve `FT_ABS' fix from 2015-09-17 (#45999). * src/pcf/pcfread.c (pcf_load_font): Do first the cast to FT_Short, then take the absolute value. Also apply FT_ABS to `height'. 2015-09-17 Werner Lemberg <wl@gnu.org> [type42] Fix memory leak (#45989). * src/type42/t42parse.c (t42_parse_charstrings): Allow only a single `CharStrings' array. 2015-09-17 Werner Lemberg <wl@gnu.org> [psaux] Fix memory leak (#45986). * src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>: Free `temp' in case of error. 2015-09-17 Werner Lemberg <wl@gnu.org> [psaux] Improve tracing message. * src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>: Handle plural correctly. 2015-09-17 Werner Lemberg <wl@gnu.org> [pcf] Fix integer overflows (#45985). * src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv. 2015-09-17 Werner Lemberg <wl@gnu.org> [pcf] Use FT_ABS for some property values (#45893). * src/pcf/pcfread.c (pcf_load_font): Take absolute values for AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and RESOLUTION_Y. In tracing mode, add warnings. 2015-09-16 Werner Lemberg <wl@gnu.org> Minor fixes for some clang warnings. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Cast, possible missing initialization. * src/truetype/ttgload.c (TT_Process_Composite_Component): Cast. 2015-09-15 Werner Lemberg <wl@gnu.org> [type1, type42] Fix memory leaks (#45966). * src/type1/t1load.c (parse_blend_axis_types): Handle multiple axis names. (parse_blend_design_map): Allow only a single design map. (parse_encoding): Handle multiple encoding vectors. * src/type42/t42parse.c (t42_parse_encoding): Handle multiple encoding vectors. 2015-09-15 Werner Lemberg <wl@gnu.org> [truetype] Fix integer type (#45965). * src/truetype/ttobjs.c (tt_synth_sfnt_checksum): Implement it. 2015-09-15 Werner Lemberg <wl@gnu.org> * src/pcf/pcfread.c (pcf_load_font): Fix integer overflow (#45964). 2015-09-15 Werner Lemberg <wl@gnu.org> [type1, type42] Check encoding array size (#45961). * src/type1/t1load.c (parse_encoding), src/type42/t42parse.c (t42_parse_encoding): Do it. 2015-09-14 Alexei Podtelezhnikov <apodtele@gmail.com> * src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Improve. 2015-09-14 Werner Lemberg <wl@gnu.org> [type1] Fix another potential buffer overflow (#45955). * src/type1/t1parse (T1_Get_Private_Dict): Assure that check for `eexec' doesn't exceed `limit'. 2015-09-13 Werner Lemberg <wl@gnu.org> Replace `mkinstalldirs' with AC_PROG_MKDIR_P. * builds/unix/mkinstalldirs: Removed, no longer needed. * builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'. Update pwd call for `$INSTALL'. * builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'. * autogen.sh: Updated. 2015-09-13 Werner Lemberg <wl@gnu.org> [winfonts] Check alignment shift count for resource data (#45938). * src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it. 2015-09-13 Werner Lemberg <wl@gnu.org> [type1] Fix potential buffer overflow (#45923). * src/type1/t1parse.c (T1_Get_Private_Dict): Assure `cur' doesn't point to end of file buffer. 2015-09-13 Werner Lemberg <wl@gnu.org> [gzip] Fix access of small compressed files (#45937). * src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak. (ft_gzip_get_uncompressed_file): Correct byte order while reading unsigned long value. Without this change, the whole optimization of accessing small files in `FT_Stream_OpenGzip' is never executed! As a consequence, access to PCF files in general (which are normally small files) should be much improved now as originally intended. 2015-09-11 Werner Lemberg <wl@gnu.org> [psaux] Fix potential buffer overflow (#45922). * src/psaux/psobjs.c (ps_parser_skip_PS_token): If a token is enclosed in balanced expressions, ensure that the cursor position doesn't get larger than the current limit. 2015-09-11 Werner Lemberg <wl@gnu.org> [base] Avoid crash while tracing `load_mac_face'. Reported in Savannah bug #45919. * src/base/ftobjs.c (load_mac_face): Honour FT_OPEN_MEMORY while tracing. 2015-09-11 Werner Lemberg <wl@gnu.org> [type42] Fix endless loop (#45920). * src/type42/t42parse.c (t42_parse_encoding): Synchronize with type1's `parse_encoding'. 2015-09-10 Werner Lemberg <wl@gnu.org> [docmaker] Allow `-' in bold and italic markup. * src/tools/docmaker/sources.py (re_italic, re_bold): Adjust accordingly. 2015-09-09 Alexei Podtelezhnikov <apodtele@gmail.com> * src/base/ftcalc.c (FT_RoundFix): Improve. 2015-09-09 Wojciech Mamrak <wmamrak@gmail.com> * src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize. This commit makes the functions behave as expected, this is, rounding towards plus or minus infinity. 2015-09-07 Alexei Podtelezhnikov <apodtele@gmail.com> * src/smooth/ftgrays.c (gray_render_line): Simplify clipping. 2015-09-04 Alexei Podtelezhnikov <apodtele@gmail.com> [raster,smooth] Microoptimizations. * src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table, Bezier_Up, ): Use do-while loops. * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line, gray_convert_glyph): Ditto. 2015-09-04 Werner Lemberg <wl@gnu.org> [autofit] Redesign code ranges (2/2). This commit adds two fallback scripts (`latb', `latp') and implements support for the no-base character ranges introduced in the previous commit. * src/autofit/aftypes.h (AF_ScriptClassRec): Add `script_uni_nobase_ranges' field. (AF_DEFINE_SCRIPT_CLASS): Updated. * src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and `latp' fallback scripts. * src/autofit/afblue.dat: Add blue zones for Latin subscript and superscript fallback scripts. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base characters. (AF_STYLE_MASK): Updated. * src/autofit/afglobal.c (SCRIPT): Updated. (af_face_globals_compute_style_coverage): Handle new style flag. * src/autofit/aflatin.c (af_latin_hints_apply): Handle new style flag. * src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges. 2015-09-04 Werner Lemberg <wl@gnu.org> [autofit] Redesign code ranges (1/2). This patch introduces auxiliary code ranges that identify no-base characters; they refer to glyphs of a script that should be hinted without alignments to blue zones (mostly diacritics). It also splits off ranges for fallback scripts that handle subscript and superscript characters not covered by OpenType features. For example, this greatly helps improve the hinting of various phonetic alphabets, which contain a large amount characters that look like superscript glyphs. Finally, code ranges are updated to Unicode 8.0, and enclosed characters are removed in general since they normally look better if they stay unhinted. * src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode 8.0. Split off superscript-like and subscript-like glyphs into... (af_latb_uniranges, af_latp_uniranges): ... these two new arrays. (af_xxxx_nobase_uniranges): New arrays that hold no-base characters of the corresponding character ranges. 2015-09-03 Werner Lemberg <wl@gnu.org> [autofit] Pass glyph index to hinting function. No functionality change yet. * src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass glyph index. * src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply), src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c (af_indic_hints_apply), src/autofit/aflatin.c (af_latin_hints_apply), src/autofit/aflatin2.c (af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g): Updated. 2015-08-30 Werner Lemberg <wl@gnu.org> [autofit] Code clean-up. * src/autofit/afglobal.h (AF_STYLE_MASK): New macro. (AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition. * src/autofit/afglobal.c (af_face_globals_compute_style_coverage): Updated. 2015-08-30 Werner Lemberg <wl@gnu.org> [autofit] Make glyph style array use 16bit values. * include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use `FT_UShort' for `map' field. * src/autofit/afglobal.c (af_face_globals_compute_style_coverage, af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h (af_get_coverage): Use FT_UShort for `glyph_styles' array. * src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to 16 bits. (AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field. 2015-08-26 Werner Lemberg <wl@gnu.org> * builds/unix/configure.raw: Need harfbuzz >= 0.9.21 (#45828). 2015-08-25 Werner Lemberg <wl@gnu.org> [base] Improve kerning tracing and documentation. * src/base/ftobjs.c (FT_Get_Kerning): Emit tracing message if scaled-down kerning values differ. 2015-08-18 Werner Lemberg <wl@gnu.org> [raster] Remove last remnants of `raster5' driver. * src/raster/ftrend1.h (ft_raster5_renderer_class): Removed. * src/raster/rastpic.c, src/raster/rastpic.h (ft_raster5_renderer_class_pic_init, ft_raster5_renderer_class_pic_free): Removed. 2015-08-17 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Improve emboldener (#45596). * src/base/ftoutln.c (FT_Outline_EmboldenXY): Correct displacement of zero-length segments. 2015-08-16 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Reoptimize arithmetic. * src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove special cases that slow down the general use. 2015-08-15 pazer <ibemad@gmail.com> Fix C++ compilation (#45762). * src/base/ftstroke.c (ft_outline_glyph_class): Use FT_CALLBACK_TABLE. 2015-08-14 Alexei Podtelezhnikov <apodtele@gmail.com> [truetype] Clean up. * src/truetype/ttgload.c (TT_Process_Composite_Component): Use `FT_Outline_Transform' and `FT_Outline_Translate'. (translate_array): Dropped. 2015-08-14 Andreas Enge <andreas.enge@inria.fr> * builds/unix/detect.mk (CONFIG_SHELL): Don't handle it (#44261). 2015-08-13 Werner Lemberg <wl@gnu.org> [truetype] Introduce named instance access to GX fonts. For functions querying a face, bits 16-30 of the face index can hold the named instance index if we have a GX font. The indices start with value 1; value 0 indicates font access without GX variation data. * include/freetype/freetype.h (FT_FaceRec): Update documentation. * include/freetype/internal/sfnt.h: Ditto. * src/sfnt/sfobjs.c (sfnt_init_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Get number of named instances and do argument checks. (sfnt_load_face): Updated. * src/truetype/ttobjs.c (tt_face_init) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Use named instance, overwriting the style name. * src/base/ftobjs.c (open_face_from_buffer, open_face_PS_from_sfnt_stream): Updated. * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated. * src/cff/cffload.c (cff_font_load): Updated. * src/cff/cffobjs.c (cff_face_init): Make function exit early for pure CFF fonts if `font_index < 0'. Updated. * src/cid/cidobjs.c (cid_face_init): Updated. * src/pcf/pcfdrivr.c (PCF_Face_Init): Updated. * src/pfr/pfrobjs.c (pfr_face_init): Updated. * src/type1/t1objs.c (T1_Face_Init): Updated. * src/type42/t42objs.c (T42_Face_Init): Updated. * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init): Updated. * docs/CHANGES: Updated. 2015-08-12 Alexei Podtelezhnikov <apodtele@gmail.com> [type1,cff,cid] Streamline font matrix application. * src/type1/t1gload.c (T1_Load_Glyph): Directly modify advances only if font matrix is not trivial. * src/cff/cffgload.c (cff_slot_load): Ditto. * src/cid/cidgload.c (cid_slot_load_glyph): Ditto for advances and the entire outline. 2015-08-11 Werner Lemberg <wl@gnu.org> [builds/unix] Minor. * builds/unix/configure.raw: s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with similarly named uppercase variables. 2015-08-10 Alexei Podtelezhnikov <apodtele@gmail.com> [type1,cid,type42] Minor improvements. * src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only when necessary. Refresh comments. * src/cid/cidload.c (cid_parse_font_matrix): Ditto. * src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments. 2015-08-08 Werner Lemberg <wl@gnu.org> [type42] Fix glyph access. This is a severe bug: We've missed one level of indirection, as described in the Type 42 specification. As a result, ftview sometimes showed incorrect glyphs for given glyph names, and even displayed `error 0x0006' (invalid argument!) in case the number of glyph indices differed between the Type 42 font and the embedded TTF. Apparently, noone ever noticed it; this shows how much Type 42 fonts are in use... * src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index to embedded TTF's glyph index. 2015-08-08 Werner Lemberg <wl@gnu.org> [type42] Minor clean-up. * src/type42/t42parse.c (t42_parse_font_matrix): Remove unused variable. 2015-08-06 Alexei Podtelezhnikov <apodtele@gmail.com> [type42] Parse FontMatrix according to specifications. * src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix does not need scaling by 1000. Units_per_EM are taken from the embedded TrueType. 2015-08-06 Werner Lemberg <wl@gnu.org> [autofit] Improve Arabic hinting. Problem reported by Titus Nemeth <tn@tntypography.eu> (by using ttfautohint). * src/autofit/afblue.dat: Add neutral blue zone for the tatweel character. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. 2015-08-05 Alexei Podtelezhnikov <apodtele@gmail.com> [truetype] Clean up types. * src/truetype/ttobjs.c (TT_Size): Move declaration from here. * include/freetype/internal/tttypes.h (TT_Size): ... to here. (TT_LoaderRec): Switch to appropriate types for `face' and `size'. * src/truetype/ttgload.c: Remove corresponding type casts. * src/truetype/ttsubpix.c: Ditto. 2015-08-05 Werner Lemberg <wl@gnu.org> [autofit] Improve recognition of flat vs. rounded segments. Lower the flatness threshold from upem/8 to upem/14, making the auto-hinter accept shorter elements. Synchronize flat/round stem selection algorithm with blue zone code. * src/autofit/aflatin.c (FLAT_THRESHOLD): New macro. (af_latin_metrics_init_blues): Use it. (af_latin_hints_compute_segments): Collect information on maximum and minimum coordinates of `on' points; use this to add a constraint for the flat/round decision similar to `af_latin_metrics_init_blues'. 2015-08-04 Werner Lemberg <wl@gnu.org> Another left-shift bug (#45681). * src/base/ftobjs.c (IsMacBinary): Only accept positive values for `dlen'. 2015-08-03 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Fix `ft_corner_orientation'. Remove casting from `FT_Long' to `FT_Int' that might change the sign of the return value and make it faster too. * src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay with 32-bit arithmetic when safe. Use plain math on 64-bit systems. * src/pshinter/pshalgo.c: Remove old unused code. 2015-08-03 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs having a depth greater than 1. 2015-08-03 Werner Lemberg <wl@gnu.org> Fix typo in clang bug from 2015-07-31 (#45678). * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality. 2015-08-02 Werner Lemberg <wl@gnu.org> * CMakeLists.txt: Improve shared library support. Based on a patch from John Cary <cary@txcorp.com>. 2015-08-02 Werner Lemberg <wl@gnu.org> * builds/unix/freetype-config.in (enable_shared): Remove. Unused. 2015-08-02 Werner Lemberg <wl@gnu.org> Fix more invalid left-shifts. * src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication, not left-shift. * src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar, tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication, not left-shift. 2015-07-31 Werner Lemberg <wl@gnu.org> Fix some bugs found by clang's `-fsanitize=undefined' (#45661). * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept positive values from header. Check overflow. * src/base/ftoutln.c (SCALED): Correctly handle left-shift of negative values. * src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified, _bdf_clear_glyph_modified): Use unsigned long constant. * src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't left-shift values that can be negative. * src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't left-shift values that can be negative. * src/raster/ftraster.c (SCALED): Correctly handle left-shift of negative values. * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift values that can be negative. * src/truetype/ttgload.c (TT_Load_Composite_Glyph, compute_glyph_metrics, load_sbit_image): Don't left-shift values that can be negative. 2015-07-31 Werner Lemberg <wl@gnu.org> Define FT_LONG_MAX. * include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro. * src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it. 2015-07-28 Alexei Podtelezhnikov <apodtele@gmail.com> * src/base/ftcalc.c (FT_Vector_NormLen): Clarify. 2015-07-27 Alexei Podtelezhnikov <apodtele@gmail.com> * src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions. 2015-07-26 Matthias Clasen <matthias.clasen@gmail.com> [cff] Don't use `hmtx' table for LSB (#45520). * src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance width only. Bug introduced 2015-04-10. 2015-07-09 Werner Lemberg <wl@gnu.org> Better support of user-supplied C++ namespaces. See http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html for a rationale. * src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h, src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h, src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h (FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose header files that contain FT_{BEGIN,END}_HEADER macros by themselves. * src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include FT_CONFIG_STANDARD_LIBRARY_H earlier. * src/truetype/ttpic.h: Include FT_INTERNAL_PIC_H. 2015-07-07 Werner Lemberg <wl@gnu.org> [sfnt] Make `tt_face_get_name' member of the SFNT interface. * include/freetype/internal/sfnt.h (TT_Get_Name_Func): New prototype. (SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'. * src/sfnt/sfdriver.c (sfnt_interface): Updated. * src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'. * src/sfnt/sfobjs.h: Add prototype for it. 2015-06-30 Werner Lemberg <wl@gnu.org> Fix some clang compiler warnings. * src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c (cf2_interpT2CharString), src/truetype/ttgload.c (load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas), src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues. 2015-06-29 Alexei Podtelezhnikov <apodtele@gmail.com> [truetype] Speed up bytecode interpreter. * src/truetype/ttinterp.c (Normalize): Use `FT_Vector_NormLen'. 2015-06-29 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Speed up emboldening. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use `FT_Vector_NormLen'. 2015-06-29 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Implement fast vector normalization. The function uses Newton's iterations instead of dividing vector components by its length, which needs a square root. This is, literally, a bit less accurate but a lot faster. * src/base/ftcalc.c (FT_Vector_NormLen): New function. 2015-06-28 Werner Lemberg <wl@gnu.org> * CMakeLists.txt: Always create `ftconfig.h'. For non-UNIX builds, the file stays unmodified. However, it's better to have the main configuration files at the same place regardless of the OS. 2015-06-28 Werner Lemberg <wl@gnu.org> * CMakeLists.txt: Improve MSVC support (#43737). 2015-06-28 Werner Lemberg <wl@gnu.org> [cmake] Check for libraries and create `ftoption.h'. * builds/FindHarfBuzz.cmake: New file, taken from https://trac.webkit.org/browser/trunk/Source/cmake/FindHarfBuzz.cmake * CMakeLists.Txt: Add path to local cmake modules. Find dependencies for zlib, bzip2, libpng, and harfbuzz. Create `ftoption.h' file. Set up include and linker stuff for libraries. 2015-06-28 Werner Lemberg <wl@gnu.org> * CMakeLists.txt: Fix creation of `ftconfig.h'. Check for UNIX header files using `check_include_file'. Set up correct header include directories. 2015-06-28 Werner Lemberg <wl@gnu.org> * CMakeLists.txt: Disallow in-source builds. 2015-06-27 Werner Lemberg <wl@gnu.org> * src/tools/docmaker/utils.py (check_output): Add missing `\n'. 2015-06-26 Werner Lemberg <wl@gnu.org> * CMakeLists.txt: Select platform-dependent `ftdebug.c'. 2015-06-25 Werner Lemberg <wl@gnu.org> * CMakeLists.txt: Use cmake functions for generating `ftconfig.h'. Additionally, do this for UNIX only. 2015-06-25 Werner Lemberg <wl@gnu.org> * CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'. 2015-06-25 Werner Lemberg <wl@gnu.org> Another adjustment to header locations. This change is a result of a discussion thread on freetype-devel http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html Re-introduce the `freetype2' subdirectory for all FreeType header files after installation, and rename the `freetype2' subdirectory in the git repository to `freetype'. * include/freetype2: Renamed to... * include/freetype: This. * CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS, PRIVATE_HEADERS): Updated. Update creation of `ftconfig.h'. Install generated `ftconfig.h'. * Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated. * builds/amiga/include/config/ftconfig.h, builds/freetype.mk (PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work), builds/unix/freetype2.in: Updated. * builds/unix/freetype-config.in: Updated. * builds/unix/configure.raw: Don't check for `rmdir'. * builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable according to the autoconf info manual. * builds/unix/install.mk (install, uninstall, distclean_project_unix): Update and simplify. * builds/wince/*, builds/windows/*: Updated. * devel/ft2build.h, include/ft2build.h: Updated. * include/freetype2/config/ftheader.h, include/freetype2/internal/ftserv.h, include/freetype2/internal/internal.h: Update all header file macros. * src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated. * docs/*: Updated. 2015-06-24 Alexei Podtelezhnikov <apodtele@gmail.com> * src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp. 2015-06-24 Alexei Podtelezhnikov <apodtele@gmail.com> * src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing. 2015-06-23 Werner Lemberg <wl@gnu.org> s/TYPEOF/FT_TYPEOF/ (#45376). * builds/unix/ftconfig.in, builds/vms/ftconfig.in, include/freetype2/config/ftconfig.h, include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it. 2015-06-22 Werner Lemberg <wl@gnu.org> Fix Savannah bug #45097. We no longer `pollute' the namespace of possible header file names; instead we move `ft2build.h' up by one level so that it gets installed in the default include directory (e.g., /usr/local/include). After this commit, only `ft2build.h' stays in the compiler's include path. No visible changes for the user who follows the standard FreeType header inclusion rules. * include/*: Move to ... * include/freetype2/*: This directory, except `ft2build.h'. * CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS, PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated. * builds/amiga/include/config/ftconfig.h, builds/freetype.mk (PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work), builds/unix/install.mk (install, uninstall), builds/unix/freetype2.in: Updated. * builds/unix/freetype-config.in: Updated. Emit -I directory only if it is not `/usr/include'. * builds/wince/*, builds/windows/*: Updated. * devel/ft2build.h, include/ft2build.h: Updated. * include/freetype2/config/ftheader.h, include/freetype2/internal/ftserv.h, include/freetype2/internal/internal.h: Update all header file macros. * src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated. 2015-06-21 Werner Lemberg <wl@gnu.org> Make Jam support work again. This is just very basic stuff and just a little bit tested on GNU/Linux only. I won't delve into this since I'm not a Jam user. * Jamfile: Call `HDRMACRO' for `ftserv.h' also. (DEFINES): Replace with... (CCFLAGS): ... this. * src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is already handled in the top-level Jamfile. * src/autofit/Jamfile (DEFINES): Replace with... (CCFLAGS): ... this. (_sources): Add missing files. * src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no longer contains macro header definitions. * src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile, src/truetype/Jamfile (_sources): Add missing files. 2015-06-16 Werner Lemberg <wl@gnu.org> Fix Savannah bug #45326. * src/sfnt/sfntpic.h (SFNT_SERVICES_GET): Remove duplicate definitions. 2015-06-07 Werner Lemberg <wl@gnu.org> * Version 2.6 released. ======================= Tag sources with `VER-2-6'. * docs/VERSION.DLL: Update documentation and bump version number to 2.6. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.5.5/2.6/, s/255/26/. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 6. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.raw (version_info): Set to 18:0:12. * CMakeLists.txt (VERSION_MINOR): Set to 6. (VERSION_PATCH): Set to 0. * src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add declarations for dumping functions. * src/truetype/ttinterp.c (TT_New_Context): Pacify compiler. * builds/toplevel.mk: Use `freetype.mk's code to compute the version string. Don't include a zero patch level in version string. * builds/freetype.mk: Remove code for computing the version string. 2015-06-06 Ashish Azad <ashish.azad@samsung.com> Fix Savannah bug #45260. * src/pfr/pfrdrivr.c (pfr_get_kerning): Fix typo. 2015-06-03 Werner Lemberg <wl@gnu.org> [truetype] Fix memory leak. Problem reported by Grissiom <chaos.proton@gmail.com>; in http://lists.nongnu.org/archive/html/freetype/2015-05/msg00013.html there is an example code to trigger the bug. * src/truetype/ttobjs.c (tt_size_init_bytecode): Free old `size' data before allocating again. Bug most probably introduced four years ago in version 2.4.3. 2015-06-02 Werner Lemberg <wl@gnu.org> [raster] Add more tracing. * src/raster/ftraster.c (FT_TRACE7) [_STANDALONE_]: Define. (Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Span, Horizontal_Sweep_Drop, Render_Glyph): Add tracing calls. 2015-06-01 Werner Lemberg <wl@gnu.org> [truetype] While tracing opcodes, show code position and stack. * src/truetype/ttinterp.c: Change all existing TRACE7 calls to TRACE6. (opcode_name): Add string lengths. (TT_RunIns): Implement display of code position and stack. 2015-05-31 Werner Lemberg <wl@gnu.org> [truetype] In GX, make private point numbers work correctly. This is completely missing in Apple's documentation: If a `gvar' tuple uses private point numbers (this is, deltas are specified for some points only), the uncovered points must be interpolated for this tuple similar to the IUP bytecode instruction. Examples that need this functionality are glyphs `Oslash' and `Q' in Skia.ttf. * src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate, tt_handle_deltas): New functions. (TT_Vary_Get_Glyph_Deltas): Renamed to... (TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the points and does no longer return an array of deltas. Add tracing information. Call `tt_handle_deltas' to interpolate missing deltas. Also fix a minor memory leak in case of error. * src/truetype/ttgxvar.h: Updated. * src/truetype/ttgload.c (TT_Process_Simple_Glyph, load_truetype_glyph): Updated. 2015-05-31 Werner Lemberg <wl@gnu.org> [truetype] In GX, make intermediate tuplets work at extrema. * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix range condition. 2015-05-31 Werner Lemberg <wl@gnu.org> [truetype] Add tracing information to GX code. * src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar, ft_var_apply_tuple, TT_Get_MM_Var, TT_Set_MM_Blend, TT_Set_Var_Design, tt_face_vary_cvt): Do it. 2015-05-28 Werner Lemberg <wl@gnu.org> * src/tools/apinames.c (names_dump): Fix invalid reference. Problem reported by Guzman Mosqueda, Jose R <jose.r.guzman.mosqueda@intel.com>. 2015-05-24 Werner Lemberg <wl@gnu.org> [truetype] Fix commit from 2015-05-22. * src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'. Problem reported by Nikolaus Waxweiler <madigens@gmail.com>. 2015-05-23 Werner Lemberg <wl@gnu.org> [truetype] Fix return values of GETINFO bytecode instruction. * src/truetype/ttinterp.h (TT_ExecContextRec): New fields `vertical_lcd' and `gray_cleartype'. * src/truetype/ttgload.c (tt_loader_init): Initialize new fields. Change `symmetrical smoothing' to TRUE, since FreeType produces exactly this. * src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit values for symmetrical smoothing, namely 11/18. Handle bits for vertical LCD subpixels (8/15) and Gray ClearType (12/19). 2015-05-23 Werner Lemberg <wl@gnu.org> [truetype] Minor. * src/truetype/ttinterp.h (TT_ExecContext): s/subpixel/subpixel_hinting. * src/truetype/ttgload.c, src/truetype/ttgload.h: Updated. 2015-05-22 Werner Lemberg <wl@gnu.org> [truetype] Support selector index 3 of the INSTCTRL instruction. This flag activates `native ClearType hinting', disabling backwards compatibility mode as described in Greg Hitchcocks whitepaper. In other words, it enables unrestricted functionality of all TrueType instructions in ClearType. * src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks' unconditionally. (tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of `GS.instruct_control' is active. * src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3. (Ins_GETINFO): Updated. * docs/CHANGES: Document it. 2015-05-20 Werner Lemberg <wl@gnu.org> [truetype] Minor. * src/truetype/ttinterp.h (SetSuperRound): Fix type of `GridPeriod' argument. 2015-05-17 Werner Lemberg <wl@gnu.org> [truetype] Fix loading of composite glyphs. * src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the ARGS_ARE_XY_VALUES flag is not set, handle argument values as unsigned. I trust `ttx' (which has exactly such code) that it does the right thing here... The reason that noone has ever noticed this bug is probably the fact that point-aligned subglyphs are rare, as are subglyphs with a number of points in the range [128;255], which is quite large (or even in the range [32768;65535], which is extremely unlikely). 2015-05-12 Chris Liddell <chris.liddell@artifex.com> [cff] Make the `*curveto' operators more tolerant. * src/cff/cf2intrp.c (cf2_interpT2CharString): The opcodes `vvcurveto', `hhcurveto', `vhcurveto', and `hvcurveto' all iterate, pulling values off the stack until the stack is exhausted. Implicitly the stack must be a multiple (or for subtly different behaviour) a multiple plus a specific number of extra values deep. If that's not the case, enforce it (as the old code did). 2015-05-12 Chris Liddell <chris.liddell@artifex.com> [cff] fix incremental interface with new cff code. * src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental interface to retrieve glyph data for a SEAC, it be left to the incremental interface callback to apply the encoding to raw character index (as it was in the previous code). 2015-04-29 Alexei Podtelezhnikov <apodtele@gmail.com> [autofit] Speed up IUP. * src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to the same position from true interpolation, use `scale' to reduce divisions. 2015-04-28 Werner Lemberg <wl@gnu.org> [cff] Use `name' table for PS name if we have a SFNT-CFF. This follows the OpenType 1.7 specification. See http://tug.org/pipermail/tex-live/2015-April/036634.html for a discussion. * src/cff/cffdrivr.c (cff_get_ps_name): Use the `sfnt' service if we have an SFNT. 2015-04-27 Alexei Podtelezhnikov <apodtele@gmail.com> [truetype] Speed up IUP. * src/truetype/ttinterp.c (_iup_worker_interpolate): Separate trivial snapping to the same position from true interpolation. 2015-04-21 Werner Lemberg <wl@gnu.org> [autofit] By default, enable warping code but switch off warping. Suggested by Behdad. * include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER. * src/autofit/afmodule.c (af_autofitter_init): Initialize `warping' with `false'. 2015-04-21 Werner Lemberg <wl@gnu.org> * docs/CHANGES: Updated. 2015-04-21 Werner Lemberg <wl@gnu.org> [autofit] Introduce `warping' property. This code replaces the debugging hook from the previous commit with a better, more generic solution. * include/ftautoh.h: Document it. * src/autofit/afmodule.h (AF_ModuleRec) [AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field. * src/autofit/afmodule.c (_af_debug_disable_warper): Remove. (af_property_set, af_property_get, af_autofitter_init) [AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option. * src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no longer existing `_af_debug_disable_warper'. * src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c (af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init) [AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the scaler flags if warping is off. * src/autofit/aftypes.h: Updated. 2015-04-16 Werner Lemberg <wl@gnu.org> [autofit] Add debugging hook to disable warper. * src/autofit/afmodule.c (_af_debug_disable_warper) [FT_DEBUG_AUTOFIT]: New global variable. * src/autofit/aftypes.h: Updated. (AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet). * src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro. * src/autofit/aflatin.c (af_latin_hints_apply) [AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use of warper. * src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply) [AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'. * src/autofit/aflatin2.c (af_latin2_hints_apply) [AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'. 2015-04-10 Werner Lemberg <wl@gnu.org> [cff] Update advance width handling to OpenType 1.7. Problem reported by Behdad. * src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case separately. * src/cff/cffgload.c (cff_slot_load): Use advance width and side bearing values from `hmtx' table if present. 2015-04-03 Alexei Podtelezhnikov <apodtele@gmail.com> * src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop. 2015-04-02 Alexei Podtelezhnikov <apodtele@gmail.com> * src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic. 2015-04-01 Alexei Podtelezhnikov <apodtele@gmail.com> [autofit] Finish the thought. * src/autofit/afhints.c (af_direction_compute): make sure the long arm is never negative so that its `FT_ABS' is not necessary. 2015-04-01 Werner Lemberg <wl@gnu.org> [autofit] Call dumper functions for tracing. * src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code. * src/autofit/afhints.c (af_glyph_hints_dump_points): Minor improvement. * src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it. 2015-04-01 Werner Lemberg <wl@gnu.org> [autofit] Make debugging stuff work again. The interface to ftgrid was broken in the series of commits starting with [autofit] Allocate AF_Loader on the stack instead of AF_Module. from 2015-01-14. * src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]: Use a global AF_GlyphHintsRec object for debugging. (af_autofitter_done, af_autofitter_load_glyph): Updated. * src/autofit/afloader.c (af_loader_init, af_loader_done): Updated. 2015-04-01 Werner Lemberg <wl@gnu.org> * src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko. 2015-03-29 Werner Lemberg <wl@gnu.org> [cff] Fix Savannah bug #44629. * src/cff/cf2font.h (CF2_MAX_SUBR), src/cff/cffgload.h (CFF_MAX_SUBRS_CALLS): Set to 16. 2015-03-29 Werner Lemberg <wl@gnu.org> [type1, truetype] Make the MM API more flexible w.r.t. `num_coords'. This commit allows `num_coords' to be larger or smaller than the number of available axes while selecting a design instance, either ignoring excess data or using defaults if data is missing. * src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design): Implement it. * src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design, T1_Set_Var_Design): Ditto. 2015-03-29 Werner Lemberg <wl@gnu.org> [type1] Minor. * src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Use FT_THROW. (T1_Set_Var_Design): Use T1_MAX_MM_AXIS and FT_THROW. 2015-03-27 Werner Lemberg <wl@gnu.org> [cff] Trace charstring nesting levels. * src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdCALLGSUBR, cf2_cmdCALLSUBR, cf2_cmdRETURN>: Implement it. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_callsubr, cff_op_callgsubr, cff_op_return>: Ditto. 2015-03-21 Alexei Podtelezhnikov <apodtele@gmail.com> [base] Optimize `FT_Angle_Diff'. Under normal circumstances we are usually close to the desired range of angle values, so that the remainder is not really necessary. * src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder. * src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro. 2015-03-21 Werner Lemberg <wl@gnu.org> [truetype] Improve `gvar' handling. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Correctly handle single-element runs. Cf. glyph `Q' in Skia.ttf with weights larger than the default. 2015-03-20 Alexei Podtelezhnikov <apodtele@gmail.com> * src/base/fttrigon.c (FT_Vector_Rotate): Minor refactoring. 2015-03-17 Alexei Podtelezhnikov <apodtele@gmail.com> Fix Savannah bug #44412 (part 2). * src/base/fttrigon.c (FT_Sin, FT_Cos, FT_Tan): Call `FT_Vector_Unit'. 2015-03-11 Werner Lemberg <wl@gnu.org> [autofit] Add support for Arabic script. Thanks to Titus Nemeth <tn@tntypography.eu> for guidance! * src/autofit/afblue.dat: Add blue zone data for Arabic. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Arabic standard characters. * src/autofit/afranges.c: Add Arabic data. * src/autofit/afstyles.h: Add Arabic data. * docs/CHANGES: Document it. 2015-03-11 Werner Lemberg <wl@gnu.org> Rename `svxf86nm.h' to `svfntfmt.h'; update related symbols. * include/internal/ftserv.h (FT_SERVICE_XFREE86_NAME_H): Renamed to... (FT_SERVICE_FONT_FORMAT_H): This. * include/internal/services/svfntfmt.h (FT_XF86_FORMAT_*): Renamed to ... (FT_FONT_FORMAT_*): This. src/base/ftfntfmt.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/truetype/ttdriver.c, src/type1/t1driver.c, src/type42/t42drivr.c, src/winfonts/winfnt.c: Updated. 2015-03-11 Werner Lemberg <wl@gnu.org> [base] Rename `FT_XFREE86_H' to `FT_FONT_FORMATS_H'. * include/config/ftheader.h: Implement it. * src/base/ftfntfmt.c, docs/CHANGES: Updated. 2015-03-11 Werner Lemberg <wl@gnu.org> [base] Rename `FT_Get_X11_Font_Format' to `FT_Get_Font_Format'. * include/ftfntfmt.h, src/base/ftfntfmt.c: Implement it. * docs/CHANGES: Updated. 2015-03-11 Werner Lemberg <wl@gnu.org> Fix automatic copyright updating. * src/tools/update-copyright: Make scanning of `no-copyright' actually work. * src/tools/no-copyright: Don't include README in general. 2015-03-11 Werner Lemberg <wl@gnu.org> Rename `ftxf86.[ch]' to `ftfntfmt.[ch]'. CMakeLists.txt, builds/amiga/makefile, builds/amiga/makefile.os4, builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt, builds/mac/FreeType.m68k_far.make.txt, builds/mac/FreeType.ppc_carbon.make.txt, builds/mac/FreeType.ppc_classic.make.txt, builds/symbian/bld.inf, builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2008-ce/freetype.vcproj, builds/windows/vc2005/freetype.vcproj, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/freetype.vcxproj.filters, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, docs/INSTALL.ANY, include/config/ftheader.h, include/ftfntfmt.h, modules.cfg, src/base/ftfntfmt.c, vms_make.com: Updated. 2015-03-10 Alexei Podtelezhnikov <apodtele@gmail.com> Fix Savannah bug #44412 (part 1). * src/base/ftstroke.c (ft_stroker_inside): Handle near U-turns. 2015-03-10 Werner Lemberg <wl@gnu.org> [base] Rename `FT_Bitmap_New' to `FT_Bitmap_Init'. * include/ftbitmap.h, src/base/ftbitmap.c: Implement it. Update all callers. * docs/CHANGES: Updated. 2015-03-06 Werner Lemberg <wl@gnu.org> * src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning. Found by Alexei. 2015-03-05 Alexei Podtelezhnikov <apodtele@gmail.com> * src/base/ftstroke.c: Simplify. 2015-03-04 Werner Lemberg <wl@gnu.org> [truetype] Some fixes and code refactoring in `ttgxvar.c'. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix return value of `point_cnt' if two bytes are read. Use a more vertical coding style. (ft_var_readpackeddeltas): Use FT_UInt for `delta_cnt' parameter. Use a more vertical coding style. 2015-03-03 Werner Lemberg <wl@gnu.org> [autofit] Fix Savannah bug #44241. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Reject glyphs with less than 3 points. 2015-03-02 Werner Lemberg <wl@gnu.org> Simplify `TYPEOF' macro. No need for two arguments. * include/config/ftconfig.h, builds/unix/ftconfig.in, builds/vms/ftconfig.h (TYPEOF): Updated. * include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR), src/autofit/afwarp.h (AF_WARPER_FLOOR): Updated. 2015-03-01 Werner Lemberg <wl@gnu.org> Various compiler warning fixes for `make multi'. * src/autofit/afcjk.c (af_cjk_hints_compute_blue_edges), src/autofit/aflatin.c (af_latin_hint_compute_blue_edges, af_latin_hint_edges), src/autofit/aflatin2.c (af_latin2_hints_compute_blue_edges, af_latin2_hint_edges): Declare as `static'. * src/cache/ftccmap.c (FTC_CMAP_QUERY_HASH, FTC_CMAP_NODE_HASH): Removed. Unused. * src/cache/ftcimage.c: Include FT_INTERNAL_OBJECTS_H. * src/cache/ftcmanag.c (FTC_LRU_GET_MANAGER): Removed. Unused. * src/cff/cf2intrp.c: Include `cf2intrp.h'. * src/cff/cffdrivr.c (PAIR_TAG): Removed. Unused. * src/gzip/ftgzip.c (NO_DUMMY_DECL): Removed. Unused. * src/psaux/afmparse.c (afm_parser_read_int): Declare as `static'. * src/pshinter/pshalgo.c (STRONGER, PSH_ZONE_MIN, PSH_ZONE_MAX): Removed. Unused. * src/raster/ftraster.c (Render_Glyph): Declare as `static'. * src/sfnt/ttpost.c (load_format_20): Fix signedness warning. * src/truetype/ttdriver.c (PAIR_TAG): Removed. Unused. * src/truetype/ttsubpix.c (is_member_of_family_class, is_member_of_style_class): Declare as `static'. * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Declare as `static'. * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): Declare as `static'. (T1_FIELD_COUNT): Removed. Unused. * src/type1/t1parse.h (T1_Done_Table): Removed. Unused. * src/type42/t42parse.c (T1_Done_Table): Removed. Unused. 2015-02-25 Werner Lemberg <wl@gnu.org> [psaux] Signedness fixes. * include/internal/psaux.h, src/psaux/afmparse.c, src/psaux/afmparse.h, src/psaux/psconv.c, src/psaux/psobjs.c, src/psaux/t1cmap.c, src/psaux/t1decode.c: Apply. 2015-02-25 Werner Lemberg <wl@gnu.org> [otvalid] Signedness fixes. * src/otvalid/otvcommn.c, src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, src/otvalid/otvmath.c: Apply. 2015-02-25 Werner Lemberg <wl@gnu.org> * src/bzip2/ftbzip2.c (ft_bzip2_alloc): Signedness fix. 2015-02-25 Werner Lemberg <wl@gnu.org> [lzw] Signedness fixes. * src/lzw/ftzopen.c, src/lzw/ftzopen.h: Apply. 2015-02-25 Werner Lemberg <wl@gnu.org> [gxvalid] Signedness fixes. * src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c, src/gxvalid/gxvcommn.h, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c, src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c, src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx1.c, src/gxvalid/gxvmorx2.c, src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c, src/gxvalid/gxvtrak.c: Apply. 2015-02-25 Werner Lemberg <wl@gnu.org> [cache] Signedness fixes. * src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcimage.c, src/cache/ftcmanag.c, src/cache/ftcsbits.c: Apply. 2015-02-25 Werner Lemberg <wl@gnu.org> Change dimension fields in `FTC_ImageTypeRec' to unsigned type. This doesn't break ABI. * include/ftcache.h (FTC_ImageTypeRec): Use unsigned types for `width' and `height'. * docs/CHANGES: Document it. 2015-02-25 Werner Lemberg <wl@gnu.org> [cache] Don't use `labs'. This is the only place in FreeType where this function was used. * include/config/ftstdlib.h (ft_labs): Remove. * src/cache/ftcimage.c (ftc_inode_weight): Replace `ft_labs' with `FT_ABS'. 2015-02-23 Werner Lemberg <wl@gnu.org> [cache] Replace `FT_PtrDist' with `FT_Offset'. * src/cache/ftccache.h (FTC_NodeRec): `FT_Offset' (a.k.a. `size_t') is a better choice for `hash' to hold a pointer than `FT_PtrDist' (a.k.a. `ptrdiff_t'), especially since the latter is signed, causing zillions of signedness warnings. [Note that `hash' was of type `FT_UInt32' before the change to `FT_PtrDist'.] Update all users. * src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h: Updated. 2015-02-23 Werner Lemberg <wl@gnu.org> [smooth, raster] Re-enable standalone compilation. * src/raster/ftraster.c (FT_RENDER_POOL_SIZE, FT_MAX) [_STANDALONE_]: Define macros. * src/smooth/ftgrays.c (FT_RENDER_POOL_SIZE, FT_MAX, FT_ABS, FT_HYPOT) [_STANDALONE_]: Define macros. 2015-02-22 Werner Lemberg <wl@gnu.org> [smooth] Signedness fixes. * src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply. 2015-02-22 Werner Lemberg <wl@gnu.org> * src/raster/ftraster.c: Use the file's typedefs everywhere. 2015-02-22 Werner Lemberg <wl@gnu.org> * src/sfnt/ttpost.c (load_format_20): Fix error tracing message. Bug introduced 6 commits earlier. 2015-02-22 Werner Lemberg <wl@gnu.org> [pshinter] Fix thinko. * src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Correctly check `count'. Bug introduced two commits earlier. 2015-02-22 Werner Lemberg <wl@gnu.org> [raster] Signedness fixes. * src/raster/ftraster.c, src/raster/ftrend1.c: Apply. 2015-02-22 Werner Lemberg <wl@gnu.org> [pshinter] Signedness fixes. * src/pshinter/pshalgo.c, src/pshinter/pshglob.c, src/pshinter/pshrec.c: Apply. 2015-02-22 Werner Lemberg <wl@gnu.org> [pshinter] Use macros for (unsigned) flags, not enumerations. * src/pshinter/pshalgo.h (PSH_Hint_Flags): Replace with macros. Updated. * src/pshinter/pshrec.h (PS_Hint_Flags): Replace with macros. 2015-02-22 Werner Lemberg <wl@gnu.org> * src/pshinter/pshrec.c: Simplify. (ps_hints_open, ps_hints_stem): Remove switch statement. 2015-02-22 Werner Lemberg <wl@gnu.org> [sfnt] Signedness fixes. * src/sfnt/pngshim.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap.c, src/sfnt/ttkern.c, src/sfnt/ttload.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c: Apply. * src/sfnt/sfdriver.c: Apply. (sfnt_get_ps_name): Simplify. 2015-02-22 Werner Lemberg <wl@gnu.org> [bdf] Signedness fixes. * src/bdf/bdf.h, src/bdf/bdfdrivr.c, src/bdf/bdfdrivr.h, src/bdf/bdflib.c: Apply. 2015-02-22 Werner Lemberg <wl@gnu.org> * src/bdf/bdflib.c (_bdf_atous): New function. (_bdf_parse_glyphs, _bdf_parse_start): Use it. 2015-02-22 Werner Lemberg <wl@gnu.org> [pcf] Signedness fixes. * src/pcf/pcf.h, src/pcf/pcfdrivr.c: Apply. * src/pcf/pcfread.c: Apply. (pcf_get_encodings): Ignore invalid negative encoding offsets. 2015-02-21 Werner Lemberg <wl@gnu.org> * src/winfonts/winfnt.c: Signedness fixes. 2015-02-21 Werner Lemberg <wl@gnu.org> [type42] Signedness fixes. * src/type42/t42parse.c, src/type42/t42parse.h, src/type42/t42types.h: Apply. 2015-02-21 Werner Lemberg <wl@gnu.org> [pfr] Signedness fixes. * src/pfr/pfrdrivr.c, src/pfr/pfrgload.c, src/pfr/pfrload.c, src/pfr/pfrload.h, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c, src/pfr/pfrtypes.h: Apply. 2015-02-21 Werner Lemberg <wl@gnu.org> [cff] Minor signedness fixes related to last commit. * src/cff/cf2ft.c, src/cff/cf2intrp.c, src/cff/cffgload.c: Apply. 2015-02-20 Werner Lemberg <wl@gnu.org> [cff] Thinkos in bias handling. Only the final result is always positive. Bug introduced three commits earlier. * src/cff/cffgload.c, src/cff/cffgload.h: Apply. 2015-02-20 Werner Lemberg <wl@gnu.org> [cid] Fix signedness issues and emit some better error codes. * src/cid/cidgload.c, src/cid/cidload.h, src/cid/cidobjs.c, src/cid/cidparse.h: Apply. * src/cid/cidload.c: Apply. (parse_fd_array): Reject negative values for number of dictionaries. * src/cid/cidparse.c: Apply. (cid_parser_new): Reject negative values for hex data length. 2015-02-20 Werner Lemberg <wl@gnu.org> [cff] Signedness fixes for new engine. * src/cff/cf2arrst.c, src/cff/cf2fixed.h, src/cff/cf2ft.c, src/cff/cf2ft.h, src/cff/cf2hints.c, src/cff/cf2intrp.c: Apply. 2015-02-20 Werner Lemberg <wl@gnu.org> [cff] Signedness fixes for basic infrastructure and old engine. * include/internal/pshints.h, src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffload.c, src/cff/cffobjs.c, src/cff/cffparse.c, src/pshinter/pshrec.c: Apply. 2015-02-19 Werner Lemberg <wl@gnu.org> * src/truetype/ttgxvar.c (TT_Get_MM_Var): Ignore `countSizePairs'. This is hard-coded to value 2 in `fvar' version 1.0 (and no newer version exists), but some fonts set it incorrectly. Problem reported by Adam Twardoch <adam@fontlab.com>. 2015-02-19 Werner Lemberg <wl@gnu.org> [cff] Emit better error code for invalid private dict size. * src/cff/cffparse.c (cff_parse_private_dict): Reject negative values for size and offset. 2015-02-19 Werner Lemberg <wl@gnu.org> [autofit] Fix signedness issues. * src/autofit/afangles.c, src/autofit/afcjk.c, src/autofit/afglobal.c, src/autofit/afhints.c, src/autofit/aflatin.c, src/autofit/aflatin2.c, src/autofit/afwarp.c, src/autofit/hbshim.c: Apply. 2015-02-19 Werner Lemberg <wl@gnu.org> [autofit] Use macros for (unsigned) flags, not enumerations. This harmonizes with other code in FreeType (and reduces the number of necessary casts to avoid compiler warnings). * src/autofit/afblue.hin: Make flag macros unsigned. * src/autofit/afblue.h: Regenerated. * src/autofit/afcjk.h: Replace flag enumeration with macros. * src/autofit/afcjk.c: Updated. * src/autofit/afhints.h (AF_Flags, AF_Edge_Flags): Replace with macros. * src/autofit/afhints.c: Updated. * src/autofit/aflatin.h: Replace flag enumerations with macros. * src/autofit/aflatin.c, src/autofit/aflatin2.c: Updated. * src/autofit/aftypes.h (AF_ScalerFlags): Replace with macros. 2015-02-18 Werner Lemberg <wl@gnu.org> [type1] Fix signedness issues. * include/internal/psaux.h, include/internal/t1types.h, src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c, src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1parse.c: Apply. 2015-02-18 Werner Lemberg <wl@gnu.org> [psaux, type1] Fix minor AFM issues. * include/internal/t1types.h (AFM_KernPairRec): Make indices unsigned. Update users. (AFM_FontInfoRec): Make element counters unsigned. Update users. * src/psaux/afmparse.h (AFM_ValueRec): Add union member for unsigned int. * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs): Reject negative values for number of kerning elements. * src/type1/t1afm.c, src/tools/test_afm.c: Updated. 2015-02-18 Werner Lemberg <wl@gnu.org> Don't use `FT_PtrDist' for lengths. Use FT_UInt instead. * include/internal/psaux.h (PS_Table_FuncsRec, PS_TableRec, T1_DecoderRec): Do it. * include/internal/t1types.h (T1_FontRec): Ditto. * src/cid/cidload.c (cid_parse_dict): Updated. * src/pfr/pfrload.c (pfr_extra_item_load_font_id): Ditto. * src/psaux/psobjs.c (ps_table_add), src/psaux/psobjs.h: Ditto. * src/type1/t1load.c (parse_blend_axis_types, parse_encoding, parse_charstrings, parse_dict): Ditto. * src/type42/t42parse.c (t42_parse_encoding, t42_parse_charstrings, t42_parse_dict): Ditto. 2015-02-18 Werner Lemberg <wl@gnu.org> * src/type1/t1driver.c (t1_ps_get_font_value): Clean up. This handles negative values better, avoiding many casts. 2015-02-17 Werner Lemberg <wl@gnu.org> [base] Fix Savannah bug #44284. * src/base/ftcalc.c (FT_MulFix): Typos. 2015-02-17 Werner Lemberg <wl@gnu.org> [truetype] Finish compiler warning fixes for signedness issues. * src/truetype/ttgxvar.c, src/truetype/ttsubpix.c, src/truetype/ttsubpix.h: Apply. 2015-02-17 Werner Lemberg <wl@gnu.org> * src/truetype/ttsubpix.c: Adding missing `static' keywords. 2015-02-17 Werner Lemberg <wl@gnu.org> [truetype] More signedness fixes. * include/internal/tttypes.h, src/truetype/ttinterp.h, src/truetype/ttobjs.h, src/truetype/ttinterp.c, src/truetype/ttobjs.c: Apply. 2015-02-17 Werner Lemberg <wl@gnu.org> [truetype] Various signedness fixes. * include/internal/ftgloadr.h, src/truetype/ttpload.c: Apply. * src/truetype/ttgload.c: Apply. (TT_Get_VMetrics): Protect against invalid ascenders and descenders while constructing advance height. 2015-02-16 Werner Lemberg <wl@gnu.org> [base] Finish compiler warning fixes for signedness issues. * src/base/ftglyph.c, src/base/ftlcdfil.c, src/base/ftstroke.c: Apply. 2015-02-16 Werner Lemberg <wl@gnu.org> * include/tttables.h (TT_OS2): `fsType' must be FT_UShort. 2015-02-16 Werner Lemberg <wl@gnu.org> More minor signedness warning fixes. * src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c, src/base/ftutil.c: Apply. 2015-02-16 Werner Lemberg <wl@gnu.org> Next round of minor compiler warning fixes. * include/internal/ftrfork.h (FT_RFork_Ref): Change `offset' member type to `FT_Long'. (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Add `static' keyword. * include/internal/ftstream.h (FT_Stream_Pos): Return `FT_ULong'. * src/base/ftoutln.c, src/base/ftrfork.c, src/base/ftstream.c: Signedness fixes. 2015-02-16 Werner Lemberg <wl@gnu.org> Various minor signedness fixes. * include/ftadvanc.h, include/internal/ftobjs.h, src/base/ftgloadr.c, src/base/ftobjs.c: Apply. 2015-02-16 Werner Lemberg <wl@gnu.org> New `TYPEOF' macro. This helps suppress signedness warnings, avoiding issues with implicit conversion changes. * include/config/ftconfig.h, builds/unix/ftconfig.in, builds/vms/ftconfig.h (TYPEOF): Define. * include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR), src/autofit/afwarp.h (AF_WARPER_FLOOR): Use it. 2015-02-16 Werner Lemberg <wl@gnu.org> * src/base/ftsystem.c: Use casts in standard C function wrappers. (ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it. 2015-02-16 Werner Lemberg <wl@gnu.org> Fix Savannah bug #44261. * builds/unix/detect.mk (setup) [unix]: Set `CONFIG_SHELL' in the environment also while calling the configure script. 2015-02-16 Werner Lemberg <wl@gnu.org> * include/internal/ftmemory.h: Add some `FT_Offset' casts. (FT_MEM_SET, FT_MEM_COPY, FT_MEM_MOVE, FT_ARRAY_ZERO, FT_ARRAY_COPY, FT_MEM_MOVE): Do it. 2015-02-15 Werner Lemberg <wl@gnu.org> [base] Clean up signedness issues in `ftdbgmem.c'. Also fix other minor issues. * src/base/ftdbgmem.c (FT_MemTableRec): Replace all FT_ULong types with FT_Long for consistency. (ft_mem_primes): Change type to `FT_Int'. (ft_mem_closest_prime, ft_mem_table_set): Updated. (ft_mem_debug_panic, ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Use `static' keyword and fix signedness warnings where necessary. (ft_mem_table_resize, ft_mem_table_new, ft_mem_table_destroy, ft_mem_table_get_nodep, ft_mem_debug_init, FT_DumpMemory): Fix types and add or remove casts to avoid signedness warnings. 2015-02-15 Werner Lemberg <wl@gnu.org> [base] Clean up signedness in arithmetic functions. This makes the code more readable and reduces compiler warnings. * src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_MulFix, FT_DivFix): Convert input parameters to unsigned, do the computation, then convert the result back to signed. (ft_corner_orientation): Fix casts. 2015-02-07 Werner Lemberg <wl@gnu.org> [sfnt] Fix Savannah bug #44184. * src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir): No longer reject `htmx' and `vmtx' tables with invalid length but sanitize them. 2015-02-06 Jon Anderson <jon@websupergoo.com> [truetype] Fix regression in the incremental glyph loader. * src/truetype/ttgload.c (load_truetype_glyph): For incremental fonts, the glyph index may be greater than the number of glyphs indicated, so guard the check with a preprocessor conditional. 2015-02-06 Werner Lemberg <wl@gnu.org> [autofit] Fix potential memory leak. While this doesn't show up with FreeType, exactly the same code leaks with ttfautohint's modified auto-hinter code (which gets used in a slightly different way). It certainly doesn't harm since it is similar to already existing checks in the code for embedded arrays. * src/autofit/afhints.c (af_glyph_hints_reload): Set `max_contours' and `max_points' for all cases. 2015-01-31 Werner Lemberg <wl@gnu.org> [autofit] Add support for Thai script. Thanks to Ben Mitchell <ben@rosettatype.com> for guidance with blue zone characters! * src/autofit/afblue.dat: Add blue zone data for Thai. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Thai standard characters. * src/autofit/afranges.c: Add Thai data. * src/autofit/afstyles.h: Add Thai data. 2015-01-23 Behdad Esfahbod <behdad@behdad.org> [raster] Handle `FT_RASTER_FLAG_AA' correctly. This fixes a breakage caused by the commit `[raster] Remove 5-level gray AA mode from monochrome rasterizer.'. Problem reported by Markus Trippelsdorf <markus@trippelsdorf.de>. * src/raster/ftraster.c (ft_black_render): Handle `FT_RASTER_FLAG_AA'. * src/raster/ftrend1.c (ft_raster1_render): Remove gray AA mode remnants. 2015-01-18 Werner Lemberg <wl@gnu.org> * src/base/ftobjs.c (FT_New_Library): Fix compiler warning. 2015-01-18 Chris Liddell <chris.liddell@artifex.com> [raster] Fix Savannah bug #44022. Add fallback for glyphs with degenerate bounding boxes. If a glyph has only one very narrow feature, the bbox can end up with either the width or height of the bbox being 0, in which case no raster memory is allocated and no attempt is made to render the glyph. This is less than ideal when the drop-out compensation in the rendering code would actually result in the glyph being rendered. This problem can be observed with the `I' glyph (gid 47) in the Autodesk RomanS TrueType font. * src/raster/ftrend1.c (ft_raster1_render): Add a fallback if either dimension is zero to explicitly round up/down (instead of simply round). 2015-01-17 Werner Lemberg <wl@gnu.org> Add some tools to handle yearly copyright notice updates. We are now following the GNU guidelines: A new release automatically means that the copyright year of all affected files gets updated; it is no longer used to track years of modification changes. * src/tools/update-copyright-year: New Perl script. * src/tools/update-copyright: New shell script that calls `update-copyright-year' on all files. * src/tools/no-copyright: Exceptions that should not be handled by `update-copyright' 2015-01-14 Werner Lemberg <wl@gnu.org> * docs/CHANGES: Updated, using a description from Behdad. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> * src/autofit/afmodule.c (af_autofitter_done): Fix compiler warning. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [autofit] Add embedded array of segments and edges. Avoids multiple mallocs per typical glyphs. With this and recent changes to avoid mallocs, the thread-safe stack-based loader is now as fast as the previous model that had one cached singleton. * src/autofit/afhints.h (AF_SEGMENTS_EMBEDDED, AF_EDGES_EMBEDDED): New macros. (AF_AxisHintsRec): Add two arrays for segments and edges. * src/autofit/afhints.c (af_axis_hints_new_segment): Only allocate data if number of segments exceeds given threshold value. (af_axis_hints_new_edge): Only allocate data if number of edges exceeds given threshold value. (af_glyph_hints_done): Updated. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [autofit] Add embedded arrays for points and contours. This avoids at least two malloc calls for typical glyphs. * src/autofit/afhints.h (AF_POINTS_EMBEDDED, AF_CONTOURS_EMBEDDED): New macros. (AF_GlyphHintsRec): Add two arrays for contours and points. * src/autofit/afhints.c (af_glyph_hints_init, af_glyph_hints_done): Updated. (af_glyph_hints_reload): Only allocate data if number of contours or points exceeds given threshold values. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [autofit] Allocate hints object on the stack. This avoids one malloc per load. * src/autofit/afloader.h (AF_LoaderRec): Change type of `hints' to `AF_GlyphHints'. Update prototype. * src/autofit/afloader.c (af_loader_init): Use `AF_GlyphHints' parameter instead of `FT_Memory'. (af_loader_done): Directly reset `load_hints'. (af_loader_load_g): Updated. * src/autofit/afmodule.c (af_autofitter_load_glyph): Use local `hints' object. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [autofit] Reuse slot glyph loader. No need to create a new glyph loader; we can reuse the one from `slot->internal->loader'. It's hard to tell why it was written that way originally, but new code looks sound and correct to me, and avoids lots of allocations. * src/autofit/afloader.c (af_loader_init): Change return type to `void'. Don't call `FT_GlyphLoader_New'. (af_loader_reset): Don't call `FT_GlyphLoader_Rewind'. (af_loader_load_g): Update code to use `internal->loader', which doesn't need copying of data. * src/autofit/afloader.h (AF_LoaderRec): Remove `gloader' member. Update prototype. * src/autofit/afmodule.c (af_autofitter_load_glyph): Updated. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [autofit] Remove (unused) support for composite glyphs. We never have to deal with composite glyphs in the autohinter, as those will be loaded into FORMAT_OUTLINE by the recursed `FT_Load_Glyph' function. In the rare cases that FT_LOAD_NO_RECURSE is set, it will imply FT_LOAD_NO_SCALE as per `FT_Load_Glyph', which then implies FT_LOAD_NO_HINTING: /* resolve load flags dependencies */ if ( load_flags & FT_LOAD_NO_RECURSE ) load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_IGNORE_TRANSFORM; if ( load_flags & FT_LOAD_NO_SCALE ) { load_flags |= FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP; load_flags &= ~FT_LOAD_RENDER; } and as such the auto-hinter is never called. Thus, the recursion in `af_loader_load_g' never actually happens. So remove the depth counter as well. * src/autofit/afloader.c (af_loader_load_g): Remove `depth' parameter. <FT_GLYPH_FORMAT_COMPOSITE>: Remove associated code. (af_loader_load_glyph): Updated. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [raster] Fix uninitialized memory access. Apparently `ras.cProfile' might be uninitialized. This will be the case if `ras.top == ras.cProfile->offset', as can be seen in `End_Profile'. The overshoot code introduced in a change `Fix B/W rasterization of subglyphs with different drop-out modes.' (from 2009-06-18) violated this, accessing `ras.cProfile->flags' unconditionally just before calling `End_Profile' (which then detected that `cProfile' is uninitialized and didn't touch it). This was harmless, and was not detected by valgrind before because the objects were allocated on the `raster_pool', which was always initialized. With recent change to allocate raster buffers on the stack, valgrind now reported this invalid access. * src/raster/ftraster.c (Convert_Glyph): Don't access an uninitialized `cProfile'. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [smooth] Fix uninitialized memory access. Looks like `ras.span_y' could always be used without initialization. This was never detected by valgrind before because the library-wide `raster_pool' was used for the worker object and `raster_pool' was originally zero'ed. But subsequent reuses of it were using `span_y' uninitialized. With the recent change to not use `render_pool' and allocate worker and buffer on the stack, valgrind now detects this uninitialized access. * src/smooth/ftgrays.c (gray_raster_render): Initialize `ras.span_y'. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [base] Don't initialize unused `driver->glyph_loader'. * src/base/ftobjs.c (Destroy_Driver): Don't call `FT_GlyphLoader_Done'. (FT_Add_Module): Don't call `FT_GlyphLoader_New'. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [base] Don't allocate `library->raster_pool' anymore. It's unused after the following commits: [raster] Allocate render pool for mono rasterizer on the stack. [raster] Remove 5-level gray AA mode from monochrome rasterizer. The value of FT_RENDER_POOL_SIZE still serves the purpose it used to serve, which is, to adjust the pool size. But the pool is now allocated on the stack on demand. * src/base/ftobjs.c (FT_New_Library, FT_Done_Library): Implement. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [base] Do not reorder library->renderers upon use. Instead of keeping `library->renderers' in a MRU order, just leave it as-is. The MRU machinery wasn't thread-safe. With this patch, rasterizing glyphs from different faces from different threads doesn't fail choosing rasterizer (FT_Err_Cannot_Render_Glyph). Easiest to see that crash was to add a `printf' (or otherwise let thread yield in FT_Throw with debugging enabled). * src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render): Don't call `FT_Set_Renderer'. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [raster] Allocate render pool for mono rasterizer on the stack. Instead of using the `render_pool' member of `FT_Library' that is provided down to the rasterizer, completely ignore that and allocate needed objects on the stack instead. With this patch, rasterizing glyphs from different faces from different threads doesn't crash in the monochrome rasterizer. * src/raster/ftraster.c (black_TRaster): Remove `buffer', `buffer_size', and `worker' members. (ft_black_render): Create `buffer' locally. (ft_black_reset): Updated. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [raster] Remove 5-level gray AA mode from monochrome rasterizer. It was off by default and couldn't be turned on at runtime. And the smooth rasterizer superceded it over ten years ago. No point in keeping. Comments suggested that it was there for compatibility with FreeType 1. 550 lines down. * src/raster/ftraster.c (FT_RASTER_OPTION_ANTI_ALIASING, RASTER_GRAY_LINES): Remove macros and all associated code. (black_TWorker): Remove `gray_min_x' and `gray_max_x'. (black_TRaster): Remove `grays' and `gray_width'. (Vertical_Sweep_Init, Vertical_Sweep_Span, Vertical_Sweep_Drop, ft_black_render): Updated. * src/raster/ftrend1.c (ft_raster1_render): Simplify code. (ft_raster5_renderer_class): Removed. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [smooth] Allocate render pool for smooth rasterizer on the stack. Instead of using the `render_pool' member of `FT_Library' that is provided down to the rasterizer, completely ignore that and allocate needed objects on the stack instead. With this patch, rasterizing glyphs from different faces from different threads doesn't crash in the smooth rasterizer. Bugs: https://bugzilla.redhat.com/show_bug.cgi?id=678397 https://bugzilla.redhat.com/show_bug.cgi?id=1004315 https://bugzilla.redhat.com/show_bug.cgi?id=1165471 https://bugs.freedesktop.org/show_bug.cgi?id=69034 * src/smooth/ftgrays.c (gray_TRaster): Remove `buffer', `buffer_size', `band_size', and `worker' members. (gray_raster_render): Create `buffer', `buffer_size', and `band_size' locally. (gray_raster_reset): Updated. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [truetype] Allocate TT_ExecContext in TT_Size instead of TT_Driver. Previously the code had stipulation for using a per-TT_Size exec context if `size->debug' was true. But there was no way that `size->debug' could *ever* be true. As such, the code was always using the singleton `TT_ExecContext' that was stored in `TT_Driver'. This was, clearly, not threadsafe. With this patch, loading glyphs from different faces from different threads doesn't crash in the bytecode loader code. * src/truetype/ttobjs.h (TT_SizeRec): Remove `debug' member. (TT_DriverRec): Remove `context' member. * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Remove `TT_ExecContext' code related to a global `TT_Driver' object. (tt_driver_done): Don't remove `TT_ExecContext' object here but ... (tt_size_done_bytecode): ... here. (tt_driver_init): Don't create `TT_ExecContext' object here but ... (tt_size_init_bytecode): ... here, only on demand. * src/truetype/ttinterp.c (TT_Run_Context): Remove defunct debug code. (TT_New_Context): Remove `TT_ExecContext' code related to a global `TT_Driver' object. * src/truetype/ttinterp.h: Updated. * src/truetype/ttgload.c (TT_Hint_Glyph, tt_loader_init): Updated. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> [autofit] Allocate AF_Loader on the stack instead of AF_Module. Stop sharing a global `AF_Loader'. Allocate one on the stack during glyph load. Right now this results in about 25% slowdown, to be fixed in a following commit. With this patch loading glyphs from different faces from different threads doesn't immediately crash in the autohinting loader code. Bugs: https://bugzilla.redhat.com/show_bug.cgi?id=1164941 * src/autofit/afloader.c (af_loader_init): Pass `AF_Loader' and `FT_Memory' instead of `AF_Module' as arguments. (af_loader_reset, af_loader_load_glyph): Also pass `loader' as argument. (af_loader_done): Use `AF_Loader' instead of `AF_Module' as argument. * src/autofit/afmodule.c (af_autofitter_init): Don't call `af_loader_init'. (af_autofitter_done): Don't call `af_loader_done'. (af_autofitter_load_glyph): Use a local `AF_Loader' object. * src/autofit/afloader.h: Include `afmodule.h'. Update prototypes. Move typedef for `AF_Module' to... * src/autofit/afmodule.h: ... this place. No longer include `afloader.h'. 2015-01-14 Behdad Esfahbod <behdad@behdad.org> * src/type42/t42objs.h (T42_DriverRec): Remove unused member. 2015-01-12 Werner Lemberg <wl@gnu.org> Fix Savannah bug #43976. Assure that FreeType's internal include directories are found before `CPPFLAGS' (which might be set by the user in the environment), and `CPPFLAGS' before `CFLAGS'. * builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'. (FT_COMPILE): Make this a special variable for compiling only the files handled in `freetype.mk'. (.c.$O): Removed, unused. * src/*/rules.mk (*_COMPILE): Fix order of include directories. 2015-01-11 Werner Lemberg <wl@gnu.org> [truetype] Prettifying. * src/truetype/ttinterp.c (project, dualproj, fast_project, fast_dualproj): Rename to... (PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this. 2015-01-11 Werner Lemberg <wl@gnu.org> * src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify. Based on a patch from Behdad. 2015-01-11 Werner Lemberg <wl@gnu.org> * src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call. 2015-01-11 Werner Lemberg <wl@gnu.org> * src/truetype/ttinterp.c (Normalize): Remove unused argument. 2015-01-11 Werner Lemberg <wl@gnu.org> [truetype] More macro expansions. * src/truetype/ttinterp.c (FT_UNUSED_EXEC): Remove macro by expansion. 2015-01-11 Werner Lemberg <wl@gnu.org> [truetype] More macro expansions. * src/truetype/ttinterp.c (INS_ARG): Remove macro by expansion, adjusting function calls where necessary. (FT_UNUSED_ARG): Removed, no longer needed. 2015-01-10 Werner Lemberg <wl@gnu.org> [truetype] More macro expansions. Based on a patch from Behdad. * src/truetype/ttinterp.c (DO_*): Expand macros into corresponding `Ins_*' functions. (TT_RunIns): Replace `DO_*' macros with `Ins_*' function calls. (ARRAY_BOUND_ERROR): Remove second definition, which is no longer needed. (Ins_SVTCA, Ins_SPVTCA, Ins_SFVTCA): Replaced with... (Ins_SxyTCA): New function. 2015-01-10 Werner Lemberg <wl@gnu.org> [truetype] Remove TT_CONFIG_OPTION_INTERPRETER_SWITCH. Behdad suggested this code simplification, and nobody objected... * include/config/ftoption.h, devel/ftoption.h (TT_CONFIG_OPTION_INTERPRETER_SWITCH): Remove. * src/truetype/ttinterp.c [TT_CONFIG_OPTION_INTERPRETER_SWITCH]: Remove related code. (ARRAY_BOUND_ERROR): Use do-while loop. 2015-01-10 Werner Lemberg <wl@gnu.org> [truetype] More macro expansions. * src/truetype/ttinterp.c, src/truetype/ttinterp.h (EXEC_ARG_, EXEC_ARG): Remove by replacing with expansion. 2015-01-10 Werner Lemberg <wl@gnu.org> [truetype] More macro expansions. Based on a patch from Behdad. * src/truetype/ttinterp.c (SKIP_Code, GET_ShortIns, NORMalize, SET_SuperRound, ROUND_None, INS_Goto_CodeRange, CUR_Func_move, CUR_Func_move_orig, CUR_Func_round, CUR_Func_cur_ppem, CUR_Func_read_cvt, CUR_Func_write_cvt, CUR_Func_move_cvt, CURRENT_Ratio, INS_SxVTL, COMPUTE_Funcs, COMPUTE_Round, COMPUTE_Point_Displacement, MOVE_Zp2_Point): Remove by replacing with expansion. (Cur_Func_project, CUR_Func_dualproj, CUR_fast_project, CUR_fast_dualproj): Replace with macros `project', `dualproj', `fast_project', `fast_dualproj'. 2015-01-10 Werner Lemberg <wl@gnu.org> [truetype] More macro expansions. * src/truetype/ttinterp.c (EXEC_OP_, EXEC_OP): Remove by replacing with expansion. 2015-01-10 Werner Lemberg <wl@gnu.org> [truetype] Remove code for static TrueType interpreter. This is a follow-up patch. * src/truetype/ttinterp.c, src/truetype/ttinterp.h [TT_CONFIG_OPTION_STATIC_INTERPRETER, TT_CONFIG_OPTION_STATIC_RASTER]: Remove macros and related code. 2015-01-10 Werner Lemberg <wl@gnu.org> * src/truetype/ttinterp.c (CUR): Remove by replacing with expansion. This starts a series of patches that simplifies the code of the bytecode interpreter. ---------------------------------------------------------------------------- Copyright 2015-2016 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, modified, and distributed under the terms of the FreeType project license, LICENSE.TXT. By continuing to use, modify, or distribute this file you indicate that you have read the license and understand and accept it fully. Local Variables: version-control: never coding: utf-8 End: |
Changes to jni/freetype/Jamfile.
︙ | ︙ | |||
206 207 208 209 210 211 212 | Always $1 ; } actions RefDoc { python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 | | | 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | Always $1 ; } actions RefDoc { python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.7 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h } RefDoc refdoc ; |
︙ | ︙ |
Changes to jni/freetype/README.
|
| | | | 1 2 3 4 5 6 7 8 9 | FreeType 2.7 ============ Homepage: http://www.freetype.org FreeType is a freely available software library to render fonts. It is written in C, designed to be small, efficient, highly customizable, and portable while capable of producing high-quality |
︙ | ︙ | |||
20 21 22 23 24 25 26 | documentation is available as a separate package from our sites. Go to http://download.savannah.gnu.org/releases/freetype/ and download one of the following files. | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | documentation is available as a separate package from our sites. Go to http://download.savannah.gnu.org/releases/freetype/ and download one of the following files. freetype-doc-2.7.tar.bz2 freetype-doc-2.7.tar.gz ftdoc27.zip To view the documentation online, go to http://www.freetype.org/freetype2/documentation.html Mailing Lists |
︙ | ︙ |
Changes to jni/freetype/builds/unix/config.sub.
1 2 3 4 | #! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2016 Free Software Foundation, Inc. | | | 1 2 3 4 5 6 7 8 9 10 11 12 | #! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2016 Free Software Foundation, Inc. timestamp='2016-08-25' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but |
︙ | ︙ | |||
1026 1027 1028 1029 1030 1031 1032 | power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; | | | | 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 | power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm |
︙ | ︙ |
Changes to jni/freetype/builds/unix/configure.
1 2 | #! /bin/sh # Guess values for system-dependent variables and create Makefiles. | | | 1 2 3 4 5 6 7 8 9 10 | #! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for FreeType 2.7. # # Report bugs to <freetype@nongnu.org>. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # |
︙ | ︙ | |||
586 587 588 589 590 591 592 | subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType' PACKAGE_TARNAME='freetype' | | | | 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 | subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType' PACKAGE_TARNAME='freetype' PACKAGE_VERSION='2.7' PACKAGE_STRING='FreeType 2.7' PACKAGE_BUGREPORT='freetype@nongnu.org' PACKAGE_URL='' ac_unique_file="ftconfig.in" # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> |
︙ | ︙ | |||
751 752 753 754 755 756 757 758 759 760 761 762 763 764 | with_pic enable_fast_install with_aix_soname with_gnu_ld with_sysroot enable_libtool_lock enable_biarch_config enable_mmap with_zlib with_bzip2 with_png with_harfbuzz with_old_mac_fonts with_fsspec | > | 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 | with_pic enable_fast_install with_aix_soname with_gnu_ld with_sysroot enable_libtool_lock enable_biarch_config enable_largefile enable_mmap with_zlib with_bzip2 with_png with_harfbuzz with_old_mac_fonts with_fsspec |
︙ | ︙ | |||
1324 1325 1326 1327 1328 1329 1330 | # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF | | | 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 | # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures FreeType 2.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. |
︙ | ︙ | |||
1389 1390 1391 1392 1393 1394 1395 | --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in | | > | 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 | --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of FreeType 2.7:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-biarch-config install biarch ftconfig.h to support multiple architectures by single file --disable-largefile omit support for large files --disable-mmap do not check mmap() and do not use Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] |
︙ | ︙ | |||
1535 1536 1537 1538 1539 1540 1541 | cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF | | | 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 | cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF FreeType configure 2.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit |
︙ | ︙ | |||
2133 2134 2135 2136 2137 2138 2139 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. | | | 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by FreeType $as_me 2.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { |
︙ | ︙ | |||
2489 2490 2491 2492 2493 2494 2495 | # Don't forget to update `docs/VERSIONS.TXT'! | | | 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 | # Don't forget to update `docs/VERSIONS.TXT'! version_info='18:6:12' ft_version=`echo $version_info | tr : .` # checks for system type |
︙ | ︙ | |||
12518 12519 12520 12521 12522 12523 12524 12525 12526 12527 12528 12529 12530 12531 | fi CPPFLAGS="${orig_CPPFLAGS}" # checks for library functions # Here we check whether we can use our mmap file component. # Check whether --enable-mmap was given. if test "${enable_mmap+set}" = set; then : enableval=$enable_mmap; enable_mmap="no" else | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 12520 12521 12522 12523 12524 12525 12526 12527 12528 12529 12530 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 12542 12543 12544 12545 12546 12547 12548 12549 12550 12551 12552 12553 12554 12555 12556 12557 12558 12559 12560 12561 12562 12563 12564 12565 12566 12567 12568 12569 12570 12571 12572 12573 12574 12575 12576 12577 12578 12579 12580 12581 12582 12583 12584 12585 12586 12587 12588 12589 12590 12591 12592 12593 12594 12595 12596 12597 12598 12599 12600 12601 12602 12603 12604 12605 12606 12607 12608 12609 12610 12611 12612 12613 12614 12615 12616 12617 12618 12619 12620 12621 12622 12623 12624 12625 12626 12627 12628 12629 12630 12631 12632 12633 12634 12635 12636 12637 12638 12639 12640 12641 12642 12643 12644 12645 12646 12647 12648 12649 12650 12651 12652 12653 12654 12655 12656 12657 12658 12659 12660 12661 12662 12663 12664 12665 12666 12667 12668 12669 12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 12683 12684 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 12730 12731 12732 12733 12734 | fi CPPFLAGS="${orig_CPPFLAGS}" # checks for library functions # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : break fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -rf conftest* fi fi # Here we check whether we can use our mmap file component. # Check whether --enable-mmap was given. if test "${enable_mmap+set}" = set; then : enableval=$enable_mmap; enable_mmap="no" else |
︙ | ︙ | |||
14693 14694 14695 14696 14697 14698 14699 | test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" | | | 14896 14897 14898 14899 14900 14901 14902 14903 14904 14905 14906 14907 14908 14909 14910 | test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by FreeType $as_me 2.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ |
︙ | ︙ | |||
14759 14760 14761 14762 14763 14764 14765 | Report bugs to <freetype@nongnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ | | | 14962 14963 14964 14965 14966 14967 14968 14969 14970 14971 14972 14973 14974 14975 14976 | Report bugs to <freetype@nongnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ FreeType config.status 2.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." |
︙ | ︙ |
Changes to jni/freetype/builds/unix/configure.ac.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # This file is part of the FreeType project. # # Process this file with autoconf to produce a configure script. # # Copyright 2001-2016 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, # and distributed under the terms of the FreeType project license, # LICENSE.TXT. By continuing to use, modify, or distribute this file you # indicate that you have read the license and understand and accept it # fully. | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # This file is part of the FreeType project. # # Process this file with autoconf to produce a configure script. # # Copyright 2001-2016 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, # and distributed under the terms of the FreeType project license, # LICENSE.TXT. By continuing to use, modify, or distribute this file you # indicate that you have read the license and understand and accept it # fully. AC_INIT([FreeType], [2.7], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update `docs/VERSIONS.TXT'! version_info='18:6:12' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) # checks for system type |
︙ | ︙ | |||
175 176 177 178 179 180 181 182 183 184 185 186 187 188 | [Define if autoconf sizeof types should be used.]) fi CPPFLAGS="${orig_CPPFLAGS}" # checks for library functions # Here we check whether we can use our mmap file component. AC_ARG_ENABLE([mmap], AS_HELP_STRING([--disable-mmap], [do not check mmap() and do not use]), [enable_mmap="no"],[enable_mmap="yes"]) | > > | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | [Define if autoconf sizeof types should be used.]) fi CPPFLAGS="${orig_CPPFLAGS}" # checks for library functions AC_SYS_LARGEFILE # Here we check whether we can use our mmap file component. AC_ARG_ENABLE([mmap], AS_HELP_STRING([--disable-mmap], [do not check mmap() and do not use]), [enable_mmap="no"],[enable_mmap="yes"]) |
︙ | ︙ |
Changes to jni/freetype/builds/unix/configure.raw.
︙ | ︙ | |||
13 14 15 16 17 18 19 | AC_INIT([FreeType], [@VERSION@], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update `docs/VERSIONS.TXT'! | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | AC_INIT([FreeType], [@VERSION@], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update `docs/VERSIONS.TXT'! version_info='18:6:12' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) # checks for system type |
︙ | ︙ | |||
175 176 177 178 179 180 181 182 183 184 185 186 187 188 | [Define if autoconf sizeof types should be used.]) fi CPPFLAGS="${orig_CPPFLAGS}" # checks for library functions # Here we check whether we can use our mmap file component. AC_ARG_ENABLE([mmap], AS_HELP_STRING([--disable-mmap], [do not check mmap() and do not use]), [enable_mmap="no"],[enable_mmap="yes"]) | > > | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | [Define if autoconf sizeof types should be used.]) fi CPPFLAGS="${orig_CPPFLAGS}" # checks for library functions AC_SYS_LARGEFILE # Here we check whether we can use our mmap file component. AC_ARG_ENABLE([mmap], AS_HELP_STRING([--disable-mmap], [do not check mmap() and do not use]), [enable_mmap="no"],[enable_mmap="yes"]) |
︙ | ︙ |
Changes to jni/freetype/builds/wince/vc2005-ce/freetype.vcproj.
︙ | ︙ | |||
17 18 19 20 21 22 23 | <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 | <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Multithreaded|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;NO_ERRNO_H" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" TargetEnvironment="1" /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration Name="Release Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\release_mt" IntermediateDirectory=".\..\..\..\objs\release_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> <Configuration Name="Debug Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\debug_mt" IntermediateDirectory=".\..\..\..\objs\debug_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" BasicRuntimeChecks="3" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> </Configurations> |
︙ | ︙ |
Changes to jni/freetype/builds/wince/vc2005-ce/index.html.
︙ | ︙ | |||
17 18 19 20 21 22 23 | <ul> <li>PPC/SP 2003 (Pocket PC 2003)</li> <li>PPC/SP WM5 (Windows Mobile 5)</li> <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <ul> <li>PPC/SP 2003 (Pocket PC 2003)</li> <li>PPC/SP WM5 (Windows Mobile 5)</li> <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> It compiles the following libraries from the FreeType 2.7 sources:</p> <ul> <pre> freetype27.lib - release build; single threaded freetype27_D.lib - debug build; single threaded freetype27MT.lib - release build; multi-threaded freetype27MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP archives are already stored this way, so no further action is required. If you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting tool to convert the line endings. For example, with <a href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR |
︙ | ︙ |
Changes to jni/freetype/builds/wince/vc2008-ce/freetype.vcproj.
︙ | ︙ | |||
84 85 86 87 88 89 90 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
173 174 175 176 177 178 179 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
262 263 264 265 266 267 268 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
351 352 353 354 355 356 357 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
440 441 442 443 444 445 446 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
529 530 531 532 533 534 535 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
617 618 619 620 621 622 623 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
705 706 707 708 709 710 711 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
793 794 795 796 797 798 799 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
881 882 883 884 885 886 887 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
969 970 971 972 973 974 975 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1057 1058 1059 1060 1061 1062 1063 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1145 1146 1147 1148 1149 1150 1151 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
1232 1233 1234 1235 1236 1237 1238 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
1319 1320 1321 1322 1323 1324 1325 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
1406 1407 1408 1409 1410 1411 1412 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
1493 1494 1495 1496 1497 1498 1499 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
1580 1581 1582 1583 1584 1585 1586 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
1664 1665 1666 1667 1668 1669 1670 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1749 1750 1751 1752 1753 1754 1755 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1834 1835 1836 1837 1838 1839 1840 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1919 1920 1921 1922 1923 1924 1925 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2004 2005 2006 2007 2008 2009 2010 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2089 2090 2091 2092 2093 2094 2095 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2174 2175 2176 2177 2178 2179 2180 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2259 2260 2261 2262 2263 2264 2265 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2344 2345 2346 2347 2348 2349 2350 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2429 2430 2431 2432 2433 2434 2435 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2514 2515 2516 2517 2518 2519 2520 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2599 2600 2601 2602 2603 2604 2605 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2685 2686 2687 2688 2689 2690 2691 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2771 2772 2773 2774 2775 2776 2777 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2857 2858 2859 2860 2861 2862 2863 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2943 2944 2945 2946 2947 2948 2949 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3029 3030 3031 3032 3033 3034 3035 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3115 3116 3117 3118 3119 3120 3121 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3201 3202 3203 3204 3205 3206 3207 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3275 3276 3277 3278 3279 3280 3281 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2008-ce\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ |
Changes to jni/freetype/builds/wince/vc2008-ce/index.html.
︙ | ︙ | |||
17 18 19 20 21 22 23 | <ul> <li>PPC/SP 2003 (Pocket PC 2003)</li> <li>PPC/SP WM5 (Windows Mobile 5)</li> <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <ul> <li>PPC/SP 2003 (Pocket PC 2003)</li> <li>PPC/SP WM5 (Windows Mobile 5)</li> <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> It compiles the following libraries from the FreeType 2.7 sources:</p> <ul> <pre> freetype27.lib - release build; single threaded freetype27_D.lib - debug build; single threaded freetype27MT.lib - release build; multi-threaded freetype27MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP archives are already stored this way, so no further action is required. If you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting tool to convert the line endings. For example, with <a href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR |
︙ | ︙ |
Changes to jni/freetype/builds/windows/vc2005/freetype.vcproj.
︙ | ︙ | |||
12 13 14 15 16 17 18 | <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> <Configuration Name="Release Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\release_mt" IntermediateDirectory=".\..\..\..\objs\release_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> <Configuration Name="Release Singlethreaded|Win32" OutputDirectory=".\..\..\..\objs\release_st" IntermediateDirectory=".\..\..\..\objs\release_st" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> <Configuration Name="Debug|Win32" OutputDirectory=".\..\..\..\objs\debug" IntermediateDirectory=".\..\..\..\objs\debug" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" BasicRuntimeChecks="3" RuntimeLibrary="3" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> <Configuration Name="Debug Singlethreaded|Win32" OutputDirectory=".\..\..\..\objs\debug_st" IntermediateDirectory=".\..\..\..\objs\debug_st" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" BasicRuntimeChecks="3" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> <Configuration Name="Debug Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\debug_mt" IntermediateDirectory=".\..\..\..\objs\debug_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2"> <Tool Name="VCPreBuildEventTool" /> <Tool Name="VCCustomBuildTool" /> <Tool Name="VCXMLDataGeneratorTool" /> <Tool Name="VCWebServiceProxyGeneratorTool" /> <Tool Name="VCMIDLTool" /> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" BasicRuntimeChecks="3" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> <Tool Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> </Configuration> </Configurations> |
︙ | ︙ |
Changes to jni/freetype/builds/windows/vc2005/index.html.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <html> <header> <title> FreeType 2 Project Files for VS.NET 2005 </title> <body> <h1> FreeType 2 Project Files for VS.NET 2005 </h1> <p>This directory contains project files for Visual C++, named <tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <html> <header> <title> FreeType 2 Project Files for VS.NET 2005 </title> <body> <h1> FreeType 2 Project Files for VS.NET 2005 </h1> <p>This directory contains project files for Visual C++, named <tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It compiles the following libraries from the FreeType 2.7 sources:</p> <ul> <pre> freetype27.lib - release build; single threaded freetype27_D.lib - debug build; single threaded freetype27MT.lib - release build; multi-threaded freetype27MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP archives are already stored this way, so no further action is required. If you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting tool to convert the line endings. For example, with <a href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR |
︙ | ︙ |
Changes to jni/freetype/builds/windows/vc2008/freetype.vcproj.
︙ | ︙ | |||
66 67 68 69 70 71 72 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2008\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
141 142 143 144 145 146 147 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2008\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
216 217 218 219 220 221 222 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2008\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
288 289 290 291 292 293 294 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2008\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
361 362 363 364 365 366 367 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2008\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
435 436 437 438 439 440 441 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2008\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ |
Changes to jni/freetype/builds/windows/vc2008/index.html.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <html> <header> <title> FreeType 2 Project Files for VS.NET 2008 </title> <body> <h1> FreeType 2 Project Files for VS.NET 2008 </h1> <p>This directory contains project files for Visual C++, named <tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <html> <header> <title> FreeType 2 Project Files for VS.NET 2008 </title> <body> <h1> FreeType 2 Project Files for VS.NET 2008 </h1> <p>This directory contains project files for Visual C++, named <tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It compiles the following libraries from the FreeType 2.7 sources:</p> <ul> <pre> freetype27.lib - release build; single threaded freetype27_D.lib - debug build; single threaded freetype27MT.lib - release build; multi-threaded freetype27MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP archives are already stored this way, so no further action is required. If you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting tool to convert the line endings. For example, with <a href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR |
︙ | ︙ |
Changes to jni/freetype/builds/windows/vc2010/freetype.vcxproj.
︙ | ︙ | |||
187 188 189 190 191 192 193 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'" /> <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" /> <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" /> <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" /> <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" /> | | | | | | | | | | | | | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'" /> <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" /> <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" /> <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" /> <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" /> <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetype27d</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetype27d</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetype27MTd</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetype27MTd</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">freetype27STd</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">freetype27STd</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype27</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype27</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetype27MT</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetype27MT</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">freetype27ST</TargetName> <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">freetype27ST</TargetName> </PropertyGroup> <Import Project="$(SolutionDir)\freetype.user.props" Condition="exists('$(SolutionDir)\freetype.user.props')" Label="UserProperties" /> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ |
Changes to jni/freetype/builds/windows/vc2010/index.html.
︙ | ︙ | |||
8 9 10 11 12 13 14 | <h1> FreeType 2 Project Files for VS.NET 2010 or newer </h1> <p>This directory contains a project file for Visual C++ (VS.NET 2010 or newer), named <tt>freetype.vcxproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It compiles the following libraries from the | | | | | | | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <h1> FreeType 2 Project Files for VS.NET 2010 or newer </h1> <p>This directory contains a project file for Visual C++ (VS.NET 2010 or newer), named <tt>freetype.vcxproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It compiles the following libraries from the FreeType 2.7 sources:</p> <ul> <pre> freetype27.lib - release build freetype27d.lib - debug build freetype27ST.lib - release build; single threaded freetype27STd.lib - debug build; single threaded freetype27MT.lib - release build; multi-threaded freetype27MTd.lib - debug build; multi-threaded</pre> </ul> <p>Both Win32 and x64 builds are supported.</p> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP archives are already stored this way, so no further action is required. If you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting |
︙ | ︙ |
Changes to jni/freetype/builds/windows/visualc/freetype.dsp.
︙ | ︙ | |||
50 51 52 53 54 55 56 | # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" |
︙ | ︙ | |||
74 75 76 77 78 79 80 | # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "freetype___Win32_Debug_Multithreaded" # PROP BASE Intermediate_Dir "freetype___Win32_Debug_Multithreaded" |
︙ | ︙ | |||
98 99 100 101 102 103 104 | # SUBTRACT CPP /nologo /X /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib | | | | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | # SUBTRACT CPP /nologo /X /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"lib\freetype27_D.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27MT_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "freetype___Win32_Release_Multithreaded" # PROP BASE Intermediate_Dir "freetype___Win32_Release_Multithreaded" |
︙ | ︙ | |||
122 123 124 125 126 127 128 | # SUBTRACT CPP /nologo /Z<none> /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib | | | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | # SUBTRACT CPP /nologo /Z<none> /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"lib\freetype27.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27MT.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "freetype___Win32_Release_Singlethreaded" # PROP BASE Intermediate_Dir "freetype___Win32_Release_Singlethreaded" |
︙ | ︙ | |||
147 148 149 150 151 152 153 | # SUBTRACT CPP /nologo /Z<none> /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib | | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | # SUBTRACT CPP /nologo /Z<none> /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype27.lib" # ADD LIB32 /out:"..\..\..\objs\freetype27ST.lib" # SUBTRACT LIB32 /nologo !ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "freetype___Win32_Debug_Singlethreaded" |
︙ | ︙ | |||
173 174 175 176 177 178 179 | # SUBTRACT CPP /nologo /X /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib | | | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | # SUBTRACT CPP /nologo /X /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype27_D.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27ST_D.lib" !ENDIF # Begin Target # Name "freetype - Win32 Release" # Name "freetype - Win32 Debug" |
︙ | ︙ |
Changes to jni/freetype/builds/windows/visualc/freetype.vcproj.
︙ | ︙ | |||
65 66 67 68 69 70 71 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
140 141 142 143 144 145 146 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
215 216 217 218 219 220 221 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
287 288 289 290 291 292 293 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
360 361 362 363 364 365 366 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
434 435 436 437 438 439 440 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ |
Changes to jni/freetype/builds/windows/visualc/index.html.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <html> <header> <title> FreeType 2 Project Files for Visual C++ and VS.NET 2005 </title> <body> <h1> FreeType 2 Project Files for Visual C++ and VS.NET 2005 </h1> <p>This directory contains project files for Visual C++, named <tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <html> <header> <title> FreeType 2 Project Files for Visual C++ and VS.NET 2005 </title> <body> <h1> FreeType 2 Project Files for Visual C++ and VS.NET 2005 </h1> <p>This directory contains project files for Visual C++, named <tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It compiles the following libraries from the FreeType 2.7 sources:</p> <ul> <pre> freetype27.lib - release build; single threaded freetype27_D.lib - debug build; single threaded freetype27MT.lib - release build; multi-threaded freetype27MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP archives are already stored this way, so no further action is required. If you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting tool to convert the line endings. For example, with <a href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR |
︙ | ︙ |
Changes to jni/freetype/builds/windows/visualce/freetype.dsp.
︙ | ︙ | |||
50 51 52 53 54 55 56 | # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" |
︙ | ︙ | |||
74 75 76 77 78 79 80 | # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "freetype___Win32_Debug_Multithreaded" # PROP BASE Intermediate_Dir "freetype___Win32_Debug_Multithreaded" |
︙ | ︙ | |||
98 99 100 101 102 103 104 | # SUBTRACT CPP /nologo /X /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib | | | | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | # SUBTRACT CPP /nologo /X /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"lib\freetype27_D.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27MT_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "freetype___Win32_Release_Multithreaded" # PROP BASE Intermediate_Dir "freetype___Win32_Release_Multithreaded" |
︙ | ︙ | |||
122 123 124 125 126 127 128 | # SUBTRACT CPP /nologo /Z<none> /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib | | | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | # SUBTRACT CPP /nologo /Z<none> /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"lib\freetype27.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27MT.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "freetype___Win32_Release_Singlethreaded" # PROP BASE Intermediate_Dir "freetype___Win32_Release_Singlethreaded" |
︙ | ︙ | |||
147 148 149 150 151 152 153 | # SUBTRACT CPP /nologo /Z<none> /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib | | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | # SUBTRACT CPP /nologo /Z<none> /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype27.lib" # ADD LIB32 /out:"..\..\..\objs\freetype27ST.lib" # SUBTRACT LIB32 /nologo !ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "freetype___Win32_Debug_Singlethreaded" |
︙ | ︙ | |||
173 174 175 176 177 178 179 | # SUBTRACT CPP /nologo /X /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib | | | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | # SUBTRACT CPP /nologo /X /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype27_D.lib" # ADD LIB32 /nologo /out:"..\..\..\objs\freetype27ST_D.lib" !ENDIF # Begin Target # Name "freetype - Win32 Release" # Name "freetype - Win32 Debug" |
︙ | ︙ |
Changes to jni/freetype/builds/windows/visualce/freetype.vcproj.
︙ | ︙ | |||
83 84 85 86 87 88 89 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
158 159 160 161 162 163 164 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
233 234 235 236 237 238 239 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
305 306 307 308 309 310 311 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
378 379 380 381 382 383 384 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
452 453 454 455 456 457 458 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
530 531 532 533 534 535 536 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
615 616 617 618 619 620 621 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
700 701 702 703 704 705 706 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
781 782 783 784 785 786 787 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
863 864 865 866 867 868 869 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
946 947 948 949 950 951 952 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1032 1033 1034 1035 1036 1037 1038 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1117 1118 1119 1120 1121 1122 1123 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1202 1203 1204 1205 1206 1207 1208 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
1283 1284 1285 1286 1287 1288 1289 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1365 1366 1367 1368 1369 1370 1371 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1448 1449 1450 1451 1452 1453 1454 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1534 1535 1536 1537 1538 1539 1540 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1619 1620 1621 1622 1623 1624 1625 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1704 1705 1706 1707 1708 1709 1710 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
1785 1786 1787 1788 1789 1790 1791 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1867 1868 1869 1870 1871 1872 1873 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
1950 1951 1952 1953 1954 1955 1956 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2036 2037 2038 2039 2040 2041 2042 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2121 2122 2123 2124 2125 2126 2127 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2206 2207 2208 2209 2210 2211 2212 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
2287 2288 2289 2290 2291 2292 2293 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2369 2370 2371 2372 2373 2374 2375 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2452 2453 2454 2455 2456 2457 2458 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2538 2539 2540 2541 2542 2543 2544 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2623 2624 2625 2626 2627 2628 2629 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2708 2709 2710 2711 2712 2713 2714 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
2789 2790 2791 2792 2793 2794 2795 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2871 2872 2873 2874 2875 2876 2877 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
2954 2955 2956 2957 2958 2959 2960 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3040 3041 3042 3043 3044 3045 3046 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3125 3126 3127 3128 3129 3130 3131 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3210 3211 3212 3213 3214 3215 3216 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> |
︙ | ︙ | |||
3291 3292 3293 3294 3295 3296 3297 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3373 3374 3375 3376 3377 3378 3379 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ | |||
3456 3457 3458 3459 3460 3461 3462 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" | | | 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 | Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\freetype27MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" |
︙ | ︙ |
Changes to jni/freetype/builds/windows/visualce/index.html.
︙ | ︙ | |||
17 18 19 20 21 22 23 | <ul> <li>PPC/SP 2003 (Pocket PC 2003)</li> <li>PPC/SP WM5 (Windows Mobile 5)</li> <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <ul> <li>PPC/SP 2003 (Pocket PC 2003)</li> <li>PPC/SP WM5 (Windows Mobile 5)</li> <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> It compiles the following libraries from the FreeType 2.7 sources:</p> <ul> <pre> freetype27.lib - release build; single threaded freetype27_D.lib - debug build; single threaded freetype27MT.lib - release build; multi-threaded freetype27MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP archives are already stored this way, so no further action is required. If you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting tool to convert the line endings. For example, with <a href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR |
︙ | ︙ |
Changes to jni/freetype/devel/ftoption.h.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | /**** ****/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* Uncomment the line below if you want to activate sub-pixel rendering */ /* (a.k.a. LCD rendering, or ClearType) in this build of the library. */ /* */ /* Note that this feature is covered by several Microsoft patents */ /* and should not be activated in any default build of the library. */ /* */ /* This macro has no impact on the FreeType API, only on its */ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | /**** ****/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* If you enable this configuration option, FreeType recognizes an */ /* environment variable called `FREETYPE_PROPERTIES', which can be used */ /* to control the various font drivers and modules. The controllable */ /* properties are listed in the section `Controlling FreeType Modules' */ /* in the reference's table of contents; currently there are properties */ /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and */ /* TrueType (file `ftttdrv.h'). */ /* */ /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */ /* multiple lines for better readability). */ /* */ /* <optional whitespace> */ /* <module-name1> ':' */ /* <property-name1> '=' <property-value1> */ /* <whitespace> */ /* <module-name2> ':' */ /* <property-name2> '=' <property-value2> */ /* ... */ /* */ /* Example: */ /* */ /* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ */ /* cff:no-stem-darkening=1 \ */ /* autofitter:warping=1 */ /* */ #define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES /*************************************************************************/ /* */ /* Uncomment the line below if you want to activate sub-pixel rendering */ /* (a.k.a. LCD rendering, or ClearType) in this build of the library. */ /* */ /* Note that this feature is covered by several Microsoft patents */ /* and should not be activated in any default build of the library. */ /* */ /* This macro has no impact on the FreeType API, only on its */ |
︙ | ︙ | |||
488 489 490 491 492 493 494 | /* */ /* If this macro is set (which is _not_ the default), FreeType2 will */ /* avoid creating constants that require address fixups. Instead the */ /* constants will be moved into a struct and additional intialization */ /* code will be used. */ /* */ /* Setting this macro is needed for systems that prohibit address */ | > > > > | > > > > > > > > > > | 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 | /* */ /* If this macro is set (which is _not_ the default), FreeType2 will */ /* avoid creating constants that require address fixups. Instead the */ /* constants will be moved into a struct and additional intialization */ /* code will be used. */ /* */ /* Setting this macro is needed for systems that prohibit address */ /* fixups, such as BREW. [Note that standard compilers like gcc or */ /* clang handle PIC generation automatically; you don't have to set */ /* FT_CONFIG_OPTION_PIC, which is only necessary for very special */ /* compilers.] */ /* */ /* Note that FT_CONFIG_OPTION_PIC support is not available for all */ /* modules (see `modules.cfg' for a complete list). For building with */ /* FT_CONFIG_OPTION_PIC support, do the following. */ /* */ /* 0. Clone the repository. */ /* 1. Define FT_CONFIG_OPTION_PIC. */ /* 2. Remove all subdirectories in `src' that don't have */ /* FT_CONFIG_OPTION_PIC support. */ /* 3. Comment out the corresponding modules in `modules.cfg'. */ /* 4. Compile. */ /* */ /* #define FT_CONFIG_OPTION_PIC */ /*************************************************************************/ /*************************************************************************/ /**** ****/ |
︙ | ︙ |
Changes to jni/freetype/docs/CHANGES.
1 2 3 4 5 6 7 8 9 | CHANGES BETWEEN 2.6.4 and 2.6.5 I. IMPORTANT BUG FIXES - Compilation works again on Mac OS X (bug introduced in version 2.6.4). | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | CHANGES BETWEEN 2.6.5 and 2.7 I. IMPORTANT CHANGES - As announced earlier, the 2.7.x series now uses the new subpixel hinting mode as the default, emulating a modern version of ClearType. This change inevitably leads to different rendering results, and you might change the `TT_CONFIG_OPTION_SUBPIXEL_HINTING' configuration option to adapt it to your taste (or use the new `FREETYPE_PROPERTIES' environment variable). See the corresponding entry below for version 2.6.4, which gives more information. - A new option `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' has been introduced. If set (which is the default), an environment variable `FREETYPE_PROPERTIES' can be used to control driver properties. Example: FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ cff:no-stem-darkening=1 \ autofitter:warping=1 This allows to select, say, the subpixel hinting mode at runtime for a given application. See file `ftoption.h' for more. II. IMPORTANT BUG FIXES - After loading a named instance of a GX variation font, the `face_index' value in the returned `FT_Face' structure now correctly holds the named instance index in the upper 16bits as documented. III. MISCELLANEOUS - A new macro `FT_IS_NAMED_INSTANCE' to test whether a given face is a named instance. - More fixes to GX font handling. - Apple's `GETVARIATION' bytecode operator (needed for GX variation font support) has been implemented. - Another round of fuzzer fixes, mainly to reject invalid fonts faster. - Handling of raw CID fonts was broken (bug introduced in version 2.6.4). - The smooth rasterizer has been streamlined to make it faster by approx. 20%. - The `ftgrid' demo program now understands command line option `-d' to give start-up design coordinates. - The `ftdump' demo program has a new command line option `-p' to dump TrueType bytecode instructions. ====================================================================== CHANGES BETWEEN 2.6.4 and 2.6.5 I. IMPORTANT BUG FIXES - Compilation works again on Mac OS X (bug introduced in version 2.6.4). II. IMPORTANT CHANGES - The new subpixel hinting mode is now disabled by default; it will be enabled by default in the forthcoming 2.7.x series. Main reason for reverting this feature is the principle of least surprise: a sudden change in appearance of all fonts (even if the rendering improves for almost all recent fonts) should not be expected in a new micro version of a series. |
︙ | ︙ |
Changes to jni/freetype/docs/VERSIONS.TXT.
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 | The following table gives, for all releases since 2.4.0, the corresponding libtool number, as well as the shared object number found on _most_ systems, but not all of them: release libtool so ------------------------------- 2.6.5 18.5.12 6.12.5 2.6.4 18.4.12 6.12.4 2.6.3 18.3.12 6.12.3 2.6.2 18.2.12 6.12.2 2.6.1 18.1.12 6.12.1 2.6.0 18.0.12 6.12.0 2.5.5 17.4.11 6.11.4 | > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | The following table gives, for all releases since 2.4.0, the corresponding libtool number, as well as the shared object number found on _most_ systems, but not all of them: release libtool so ------------------------------- 2.7.0 18.6.12 6.12.6 2.6.5 18.5.12 6.12.5 2.6.4 18.4.12 6.12.4 2.6.3 18.3.12 6.12.3 2.6.2 18.2.12 6.12.2 2.6.1 18.1.12 6.12.1 2.6.0 18.0.12 6.12.0 2.5.5 17.4.11 6.11.4 |
︙ | ︙ |
Changes to jni/freetype/docs/freetype-config.1.
|
| | | 1 2 3 4 5 6 7 8 | .TH FREETYPE-CONFIG 1 "September 2016" "FreeType 2.7" . . .SH NAME . freetype-config \- Get information about a libfreetype installation . . |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-auto_hinter.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="auto_hinter">The auto-hinter</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#glyph-to-script-map">glyph-to-script-map</a></td><td><a href="#increase-x-height">increase-x-height</a></td></tr> <tr><td><a href="#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td></tr> <tr><td><a href="#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="#warping">warping</a></td></tr> |
︙ | ︙ | |||
383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | FT_Property_Set( library, "autofitter", "warping", &warping ); </pre> <h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <p>The warping code can also change advance widths. Have a look at the ‘lsb_delta’ and ‘rsb_delta’ fields in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure for details on improving inter-glyph distances while rendering.</p> <p>Since warping is a global property of the auto-hinter it is best to change its value before rendering any face. Otherwise, you should reload all faces that get auto-hinted in ‘light’ hinting mode.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="no-stem-darkening(autofit)">no-stem-darkening</h3> <p><b>Experimental</b> *only,* <b>requires</b> <b>linear</b> <b>alpha</b> <b>blending</b> <b>and</b> <b>gamma</b> <b>correction</b></p> <p>Stem darkening emboldens glyphs at smaller sizes to make them more readable on common low-DPI screens when using linear alpha blending and gamma correction, see <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. When not using linear alpha blending and gamma correction, glyphs will appear heavy and fuzzy!</p> <p>Gamma correction essentially lightens fonts since shades of grey are shifted to higher pixel values (= higher brightness) to match the original intention to the reality of our screens. The side-effect is that glyphs ‘thin out’. Mac OS X and Adobe's proprietary font rendering library implement a counter-measure: stem darkening at smaller sizes where shades of gray dominate. By emboldening a glyph slightly in relation to its pixel size, individual pixels get higher coverage of filled-in outlines and are therefore ‘blacker’. This counteracts the ‘thinning out’ of glyphs, making text remain readable at smaller sizes. All glyphs that pass through the auto-hinter will be emboldened unless this property is set to TRUE.</p> <p>See the description of the CFF driver for algorithmic details. Total consistency with the CFF driver is currently not achieved because the emboldening method differs and glyphs must be scaled down on the Y-axis to keep outline points inside their precomputed blue zones. The smaller the size (especially 9ppem and down), the higher the loss of emboldening versus the CFF driver.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="darkening-parameters(autofit)">darkening-parameters</h3> <p><b>Experimental</b> <b>only</b></p> <p>See the description of the CFF driver for details. This implementation appropriates the CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency. Note the differences described in <a href="ft2-auto_hinter.html#no-stem-darkening(autofit)">no-stem-darkening</a>.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> | > > > | 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 | FT_Property_Set( library, "autofitter", "warping", &warping ); </pre> <h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable (using values 1 and 0 for ‘on’ and ‘off’, respectively).</p> <p>The warping code can also change advance widths. Have a look at the ‘lsb_delta’ and ‘rsb_delta’ fields in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure for details on improving inter-glyph distances while rendering.</p> <p>Since warping is a global property of the auto-hinter it is best to change its value before rendering any face. Otherwise, you should reload all faces that get auto-hinted in ‘light’ hinting mode.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="no-stem-darkening(autofit)">no-stem-darkening</h3> <p><b>Experimental</b> *only,* <b>requires</b> <b>linear</b> <b>alpha</b> <b>blending</b> <b>and</b> <b>gamma</b> <b>correction</b></p> <p>Stem darkening emboldens glyphs at smaller sizes to make them more readable on common low-DPI screens when using linear alpha blending and gamma correction, see <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. When not using linear alpha blending and gamma correction, glyphs will appear heavy and fuzzy!</p> <p>Gamma correction essentially lightens fonts since shades of grey are shifted to higher pixel values (= higher brightness) to match the original intention to the reality of our screens. The side-effect is that glyphs ‘thin out’. Mac OS X and Adobe's proprietary font rendering library implement a counter-measure: stem darkening at smaller sizes where shades of gray dominate. By emboldening a glyph slightly in relation to its pixel size, individual pixels get higher coverage of filled-in outlines and are therefore ‘blacker’. This counteracts the ‘thinning out’ of glyphs, making text remain readable at smaller sizes. All glyphs that pass through the auto-hinter will be emboldened unless this property is set to TRUE.</p> <p>See the description of the CFF driver for algorithmic details. Total consistency with the CFF driver is currently not achieved because the emboldening method differs and glyphs must be scaled down on the Y-axis to keep outline points inside their precomputed blue zones. The smaller the size (especially 9ppem and down), the higher the loss of emboldening versus the CFF driver.</p> <p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable similar to the CFF driver.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="darkening-parameters(autofit)">darkening-parameters</h3> <p><b>Experimental</b> <b>only</b></p> <p>See the description of the CFF driver for details. This implementation appropriates the CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency. Note the differences described in <a href="ft2-auto_hinter.html#no-stem-darkening(autofit)">no-stem-darkening</a>.</p> <p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable similar to the CFF driver.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> |
Changes to jni/freetype/docs/reference/ft2-base_interface.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="base_interface">Base Interface</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Library">FT_Library</a></td><td><a href="#FT_SubGlyph">FT_SubGlyph</a></td><td> </td></tr> <tr><td><a href="#FT_Face">FT_Face</a></td><td> </td><td><a href="#FT_LOAD_VERTICAL_LAYOUT">FT_LOAD_VERTICAL_LAYOUT</a></td></tr> <tr><td><a href="#FT_Size">FT_Size</a></td><td><a href="#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="#FT_LOAD_IGNORE_TRANSFORM">FT_LOAD_IGNORE_TRANSFORM</a></td></tr> <tr><td><a href="#FT_GlyphSlot">FT_GlyphSlot</a></td><td> </td><td><a href="#FT_LOAD_FORCE_AUTOHINT">FT_LOAD_FORCE_AUTOHINT</a></td></tr> <tr><td><a href="#FT_CharMap">FT_CharMap</a></td><td><a href="#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="#FT_LOAD_NO_RECURSE">FT_LOAD_NO_RECURSE</a></td></tr> <tr><td><a href="#FT_Encoding">FT_Encoding</a></td><td><a href="#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="#FT_LOAD_PEDANTIC">FT_LOAD_PEDANTIC</a></td></tr> <tr><td><a href="#FT_ENC_TAG">FT_ENC_TAG</a></td><td> </td><td> </td></tr> <tr><td> </td><td><a href="#FT_New_Face">FT_New_Face</a></td><td><a href="#FT_LOAD_TARGET_NORMAL">FT_LOAD_TARGET_NORMAL</a></td></tr> <tr><td><a href="#FT_FaceRec">FT_FaceRec</a></td><td><a href="#FT_Done_Face">FT_Done_Face</a></td><td><a href="#FT_LOAD_TARGET_LIGHT">FT_LOAD_TARGET_LIGHT</a></td></tr> <tr><td> </td><td><a href="#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="#FT_LOAD_TARGET_MONO">FT_LOAD_TARGET_MONO</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a></td><td><a href="#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="#FT_LOAD_TARGET_LCD">FT_LOAD_TARGET_LCD</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="#FT_Open_Face">FT_Open_Face</a></td><td><a href="#FT_LOAD_TARGET_LCD_V">FT_LOAD_TARGET_LCD_V</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="#FT_Open_Args">FT_Open_Args</a></td><td> </td></tr> <tr><td><a href="#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="#FT_Parameter">FT_Parameter</a></td><td><a href="#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a></td><td><a href="#FT_Attach_File">FT_Attach_File</a></td><td> </td></tr> <tr><td><a href="#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a></td><td><a href="#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="#FT_Render_Glyph">FT_Render_Glyph</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a></td><td> </td><td><a href="#FT_Render_Mode">FT_Render_Mode</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="#FT_Get_Kerning">FT_Get_Kerning</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a></td><td><a href="#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="#FT_Kerning_Mode">FT_Kerning_Mode</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a></td><td><a href="#FT_Request_Size">FT_Request_Size</a></td><td><a href="#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="#FT_Select_Size">FT_Select_Size</a></td><td><a href="#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td></tr> <tr><td><a href="#FT_FACE_FLAG_EXTERNAL_STREAM">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td> </td></tr> <tr><td><a href="#FT_FACE_FLAG_HINTER">FT_FACE_FLAG_HINTER</a></td><td><a href="#FT_Size_Request">FT_Size_Request</a></td><td><a href="#FT_CharMapRec">FT_CharMapRec</a></td></tr> <tr><td> </td><td><a href="#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="#FT_Select_Charmap">FT_Select_Charmap</a></td></tr> <tr><td><a href="#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="#FT_Set_Charmap">FT_Set_Charmap</a></td></tr> <tr><td><a href="#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td></tr> <tr><td><a href="#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="#FT_Get_First_Char">FT_Get_First_Char</a></td><td> </td></tr> <tr><td><a href="#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td></tr> <tr><td><a href="#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td></tr> <tr><td><a href="#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="#FT_Load_Char">FT_Load_Char</a></td><td> </td></tr> <tr><td><a href="#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td> </td><td><a href="#FT_Face_Internal">FT_Face_Internal</a></td></tr> <tr><td> </td><td><a href="#FT_OPEN_MEMORY">FT_OPEN_MEMORY</a></td><td><a href="#FT_Size_Internal">FT_Size_Internal</a></td></tr> <tr><td><a href="#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="#FT_OPEN_STREAM">FT_OPEN_STREAM</a></td><td><a href="#FT_Slot_Internal">FT_Slot_Internal</a></td></tr> <tr><td><a href="#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="#FT_OPEN_PATHNAME">FT_OPEN_PATHNAME</a></td><td> </td></tr> <tr><td><a href="#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="#FT_OPEN_DRIVER">FT_OPEN_DRIVER</a></td><td><a href="#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td></tr> <tr><td><a href="#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="#FT_OPEN_PARAMS">FT_OPEN_PARAMS</a></td><td><a href="#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td></tr> <tr><td><a href="#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td> </td><td><a href="#FT_OPEN_XXX">FT_OPEN_XXX</a></td></tr> <tr><td> </td><td><a href="#FT_LOAD_DEFAULT">FT_LOAD_DEFAULT</a></td><td><a href="#FT_LOAD_XXX">FT_LOAD_XXX</a></td></tr> <tr><td><a href="#FT_STYLE_FLAG_BOLD">FT_STYLE_FLAG_BOLD</a></td><td><a href="#FT_LOAD_RENDER">FT_LOAD_RENDER</a></td><td><a href="#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td></tr> <tr><td><a href="#FT_STYLE_FLAG_ITALIC">FT_STYLE_FLAG_ITALIC</a></td><td><a href="#FT_LOAD_MONOCHROME">FT_LOAD_MONOCHROME</a></td><td><a href="#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr> <tr><td> </td><td><a href="#FT_LOAD_LINEAR_DESIGN">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td></tr> <tr><td><a href="#FT_SizeRec">FT_SizeRec</a></td><td><a href="#FT_LOAD_NO_SCALE">FT_LOAD_NO_SCALE</a></td><td> </td></tr> <tr><td><a href="#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="#FT_LOAD_NO_HINTING">FT_LOAD_NO_HINTING</a></td><td><a href="#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td></tr> <tr><td> </td><td><a href="#FT_LOAD_NO_BITMAP">FT_LOAD_NO_BITMAP</a></td><td> </td></tr> <tr><td><a href="#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="#FT_LOAD_NO_AUTOHINT">FT_LOAD_NO_AUTOHINT</a></td><td><a href="#FT_IS_NAMED_INSTANCE">FT_IS_NAMED_INSTANCE</a></td></tr> <tr><td><a href="#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="#FT_LOAD_COLOR">FT_LOAD_COLOR</a></td><td></td></tr> </table> <p>This section describes the most important public high-level API functions of FreeType 2.</p> <div class="section"> <h3 id="FT_Library">FT_Library</h3> |
︙ | ︙ | |||
1713 1714 1715 1716 1717 1718 1719 | <a href="ft2-base_interface.html#FT_SIZE_REQUEST_TYPE_SCALES">FT_SIZE_REQUEST_TYPE_SCALES</a>, FT_SIZE_REQUEST_TYPE_MAX } <b>FT_Size_Request_Type</b>; </pre> | | > | 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 | <a href="ft2-base_interface.html#FT_SIZE_REQUEST_TYPE_SCALES">FT_SIZE_REQUEST_TYPE_SCALES</a>, FT_SIZE_REQUEST_TYPE_MAX } <b>FT_Size_Request_Type</b>; </pre> <p>An enumeration type that lists the supported size request types, i.e., what input size (in font units) maps to the requested output size (in pixels, as computed from the arguments of <a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a>).</p> <h4>values</h4> <table class="fields"> <tr><td class="val" id="FT_SIZE_REQUEST_TYPE_NOMINAL">FT_SIZE_REQUEST_TYPE_NOMINAL</td><td class="desc"> <p>The nominal size. The ‘units_per_EM’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine both scaling values.</p> <p>This is the standard scaling found in most applications. In particular, use this size request type for TrueType fonts if they provide optical scaling or something similar. Note, however, that ‘units_per_EM’ is a rather abstract value which bears no relation to the actual size of the glyphs in a font.</p> </td></tr> <tr><td class="val" id="FT_SIZE_REQUEST_TYPE_REAL_DIM">FT_SIZE_REQUEST_TYPE_REAL_DIM</td><td class="desc"> <p>The real dimension. The sum of the ‘ascender’ and (minus of) the ‘descender’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine both scaling values.</p> </td></tr> <tr><td class="val" id="FT_SIZE_REQUEST_TYPE_BBOX">FT_SIZE_REQUEST_TYPE_BBOX</td><td class="desc"> <p>The font bounding box. The width and height of the ‘bbox’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine the horizontal and vertical scaling value, respectively.</p> </td></tr> |
︙ | ︙ | |||
1764 1765 1766 1767 1768 1769 1770 | <h4>fields</h4> <table class="fields"> <tr><td class="val" id="type">type</td><td class="desc"> <p>See <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a>.</p> </td></tr> <tr><td class="val" id="width">width</td><td class="desc"> | | | | | > | 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 | <h4>fields</h4> <table class="fields"> <tr><td class="val" id="type">type</td><td class="desc"> <p>See <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a>.</p> </td></tr> <tr><td class="val" id="width">width</td><td class="desc"> <p>The desired width, given as a 26.6 fractional point value (with 72pt = 1in).</p> </td></tr> <tr><td class="val" id="height">height</td><td class="desc"> <p>The desired height, given as a 26.6 fractional point value (with 72pt = 1in).</p> </td></tr> <tr><td class="val" id="horiResolution">horiResolution</td><td class="desc"> <p>The horizontal resolution (dpi, i.e., pixels per inch). If set to zero, ‘width’ is treated as a 26.6 fractional <b>pixel</b> value.</p> </td></tr> <tr><td class="val" id="vertResolution">vertResolution</td><td class="desc"> <p>The vertical resolution (dpi, i.e., pixels per inch). If set to zero, ‘height’ is treated as a 26.6 fractional <b>pixel</b> value.</p> </td></tr> </table> <h4>note</h4> <p>If ‘width’ is zero, then the horizontal scaling value is set equal to the vertical scaling value, and vice versa.</p> <p>If ‘type’ is FT_SIZE_REQUEST_TYPE_SCALES, ‘width’ and ‘height’ are interpreted directly as 16.16 fractional scaling values, without any further modification, and both ‘horiResolution’ and ‘vertResolution’ are ignored.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_Size_Request">FT_Size_Request</h3> <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> |
︙ | ︙ | |||
3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 | <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_FAST_GLYPHS</b>( face ) 0 </pre> <p>Deprecated.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> | > > > > > > > > > > > > > | 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 | <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_FAST_GLYPHS</b>( face ) 0 </pre> <p>Deprecated.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_IS_NAMED_INSTANCE">FT_IS_NAMED_INSTANCE</h3> <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_IS_NAMED_INSTANCE</b>( face ) \ ( (face)->face_index & 0x7FFF0000L ) </pre> <p>A macro that returns true whenever a face object is a named instance of a GX variation font.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> |
Changes to jni/freetype/docs/reference/ft2-basic_types.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="basic_types">Basic Data Types</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Byte">FT_Byte</a></td><td><a href="#FT_Bool">FT_Bool</a></td><td><a href="#FT_UnitVector">FT_UnitVector</a></td></tr> <tr><td><a href="#FT_Bytes">FT_Bytes</a></td><td><a href="#FT_Offset">FT_Offset</a></td><td><a href="#FT_F26Dot6">FT_F26Dot6</a></td></tr> <tr><td><a href="#FT_Char">FT_Char</a></td><td><a href="#FT_PtrDist">FT_PtrDist</a></td><td><a href="#FT_Data">FT_Data</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-bdf_fonts.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="bdf_fonts">BDF and PCF Files</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#BDF_PropertyType">BDF_PropertyType</a></td><td><a href="#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td></tr> <tr><td><a href="#BDF_Property">BDF_Property</a></td><td><a href="#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-bitmap_handling.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="bitmap_handling">Bitmap Handling</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Bitmap_Init">FT_Bitmap_Init</a></td><td><a href="#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td></tr> <tr><td><a href="#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="#FT_Bitmap_Done">FT_Bitmap_Done</a></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-bzip2.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="bzip2">BZIP2 Streams</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-cache_subsystem.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="cache_subsystem">Cache Sub-System</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FTC_Manager">FTC_Manager</a></td><td> </td></tr> <tr><td><a href="#FTC_FaceID">FTC_FaceID</a></td><td><a href="#FTC_SBit">FTC_SBit</a></td></tr> <tr><td><a href="#FTC_Face_Requester">FTC_Face_Requester</a></td><td><a href="#FTC_SBitCache">FTC_SBitCache</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-cff_driver.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="cff_driver">The CFF driver</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#hinting-engine(cff)">hinting-engine</a></td><td> </td></tr> <tr><td><a href="#no-stem-darkening(cff)">no-stem-darkening</a></td><td><a href="#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td></tr> <tr><td><a href="#darkening-parameters(cff)">darkening-parameters</a></td><td></td></tr> |
︙ | ︙ | |||
137 138 139 140 141 142 143 144 145 146 147 148 149 150 | FT_Property_Set( library, "cff", "hinting-engine", &hinting_engine ); </pre> <h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="no-stem-darkening(cff)">no-stem-darkening</h3> | > | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | FT_Property_Set( library, "cff", "hinting-engine", &hinting_engine ); </pre> <h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable (using values ‘adobe’ or ‘freetype’).</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="no-stem-darkening(cff)">no-stem-darkening</h3> |
︙ | ︙ | |||
159 160 161 162 163 164 165 166 167 168 169 170 171 172 | FT_Property_Set( library, "cff", "no-stem-darkening", &no_stem_darkening ); </pre> <h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="darkening-parameters(cff)">darkening-parameters</h3> | > | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | FT_Property_Set( library, "cff", "no-stem-darkening", &no_stem_darkening ); </pre> <h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable (using values 1 and 0 for ‘on’ and ‘off’, respectively).</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="darkening-parameters(cff)">darkening-parameters</h3> |
︙ | ︙ | |||
191 192 193 194 195 196 197 198 199 200 201 202 203 204 | FT_Property_Set( library, "cff", "darkening-parameters", darken_params ); </pre> <p>The x values give the stem width, and the y values the darkening amount. The unit is 1000th of pixels. All coordinate values must be positive; the x values must be monotonically increasing; the y values must be monotonically decreasing and smaller than or equal to 500 (corresponding to half a pixel); the slope of each linear piece must be shallower than -1 (e.g., -.4).</p> <h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</h3> <p>Defined in FT_CFF_DRIVER_H (freetype/ftcffdrv.h).</p> | > > > > > | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | FT_Property_Set( library, "cff", "darkening-parameters", darken_params ); </pre> <p>The x values give the stem width, and the y values the darkening amount. The unit is 1000th of pixels. All coordinate values must be positive; the x values must be monotonically increasing; the y values must be monotonically decreasing and smaller than or equal to 500 (corresponding to half a pixel); the slope of each linear piece must be shallower than -1 (e.g., -.4).</p> <h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <p>This property can be set via the ‘FREETYPE_PROPERTIES’ environment variable, using eight comma-separated integers without spaces. Here the above example, using ‘\’ to break the line for readability.</p> <pre class="colored"> FREETYPE_PROPERTIES=\ cff:darkening-parameters=500,300,1000,200,1500,100,2000,0 </pre> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</h3> <p>Defined in FT_CFF_DRIVER_H (freetype/ftcffdrv.h).</p> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-cid_fonts.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="cid_fonts">CID Fonts</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td></tr> <tr><td><a href="#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td></tr> <tr><td><a href="#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-computations.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="computations">Computations</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_MulDiv">FT_MulDiv</a></td><td> </td><td><a href="#FT_Atan2">FT_Atan2</a></td></tr> <tr><td><a href="#FT_MulFix">FT_MulFix</a></td><td><a href="#FT_Angle">FT_Angle</a></td><td><a href="#FT_Angle_Diff">FT_Angle_Diff</a></td></tr> <tr><td><a href="#FT_DivFix">FT_DivFix</a></td><td><a href="#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="#FT_Vector_Unit">FT_Vector_Unit</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-error_code_values.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="error_code_values">Error Code Values</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Err_XXX">FT_Err_XXX</a></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-error_enumerations.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="error_enumerations">Error Enumerations</h1> <p>The header file ‘fterrors.h’ (which is automatically included by ‘freetype.h’ defines the handling of FreeType's enumeration constants. It can also be used to generate error message strings with a small macro trick explained below.</p> <p><b>Error</b> <b>Formats</b></p> <p>The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can be defined in ‘ftoption.h’ in order to make the higher byte indicate the module where the error has happened (this is not compatible with standard builds of FreeType&nbsp;2, however). See the file ‘ftmoderr.h’ for more details.</p> <p><b>Error</b> <b>Message</b> <b>Strings</b></p> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-font_formats.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="font_formats">Font Formats</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Get_Font_Format">FT_Get_Font_Format</a></td><td></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-gasp_table.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="gasp_table">Gasp Table</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="#FT_Get_Gasp">FT_Get_Gasp</a></td><td></td><td></td><td></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-glyph_management.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="glyph_management">Glyph Management</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Glyph">FT_Glyph</a></td><td><a href="#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td></tr> <tr><td><a href="#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td></tr> <tr><td><a href="#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="#FT_Done_Glyph">FT_Done_Glyph</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-glyph_stroker.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="glyph_stroker">Glyph Stroker</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Stroker">FT_Stroker</a></td><td><a href="#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td></tr> <tr><td> </td><td><a href="#FT_Stroker_Done">FT_Stroker_Done</a></td></tr> <tr><td><a href="#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td> </td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-glyph_variants.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="glyph_variants">Glyph Variants</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td></tr> <tr><td><a href="#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td></tr> <tr><td><a href="#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-gx_validation.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="gx_validation">TrueTypeGX/AAT Validation</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td><td><a href="#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr> <tr><td><a href="#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td><td><a href="#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr> <tr><td> </td><td> </td><td><a href="#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-gzip.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="gzip">GZIP Streams</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-header_file_macros.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | | | | | | | | | | | | | | | | | | | | | | | | | > | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="header_file_macros">Header File Macros</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="#FT_BZIP2_H">FT_BZIP2_H</a></td></tr> <tr><td><a href="#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr> <tr><td><a href="#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="#FT_GLYPH_H">FT_GLYPH_H</a></td></tr> <tr><td><a href="#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="#FT_BITMAP_H">FT_BITMAP_H</a></td></tr> <tr><td><a href="#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="#FT_BBOX_H">FT_BBOX_H</a></td></tr> <tr><td><a href="#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="#FT_CACHE_H">FT_CACHE_H</a></td></tr> <tr><td><a href="#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td></tr> <tr><td><a href="#FT_SYSTEM_H">FT_SYSTEM_H</a></td><td><a href="#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td></tr> <tr><td><a href="#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td></tr> <tr><td><a href="#FT_TYPES_H">FT_TYPES_H</a></td><td><a href="#FT_MAC_H">FT_MAC_H</a></td></tr> <tr><td><a href="#FT_LIST_H">FT_LIST_H</a></td><td><a href="#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td></tr> <tr><td><a href="#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td></tr> <tr><td><a href="#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td></tr> <tr><td><a href="#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td></tr> <tr><td><a href="#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="#FT_PFR_H">FT_PFR_H</a></td></tr> <tr><td><a href="#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="#FT_STROKER_H">FT_STROKER_H</a></td></tr> <tr><td><a href="#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr> <tr><td><a href="#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td><td><a href="#FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</a></td></tr> <tr><td><a href="#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td><td><a href="#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr> <tr><td><a href="#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td><td><a href="#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td></tr> <tr><td><a href="#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td><td><a href="#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr> <tr><td><a href="#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td><td><a href="#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td></tr> <tr><td><a href="#FT_BDF_H">FT_BDF_H</a></td><td><a href="#FT_GASP_H">FT_GASP_H</a></td></tr> <tr><td><a href="#FT_CID_H">FT_CID_H</a></td><td><a href="#FT_ADVANCES_H">FT_ADVANCES_H</a></td></tr> <tr><td><a href="#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="#':'">':'</a></td></tr> <tr><td><a href="#FT_LZW_H">FT_LZW_H</a></td><td></td></tr> </table> <p>The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in #include statements as in:</p> <pre class="colored"> #include FT_FREETYPE_H #include FT_MULTIPLE_MASTERS_H |
︙ | ︙ | |||
707 708 709 710 711 712 713 714 715 716 717 718 | <h3 id="FT_ADVANCES_H">FT_ADVANCES_H</h3> <pre> #define <b>FT_ADVANCES_H</b> <freetype/ftadvanc.h> </pre> <p>A macro used in #include statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> | > > > > > > > > > > > > > > > > > > > > | 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 | <h3 id="FT_ADVANCES_H">FT_ADVANCES_H</h3> <pre> #define <b>FT_ADVANCES_H</b> <freetype/ftadvanc.h> </pre> <p>A macro used in #include statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="':'">':'</h3> <p>Defined in FT_CONFIG_OPTIONS_H (freetype/config/ftoption.h).</p> <pre> #define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES </pre> <h4>property-name1</h4> <p>'=' <property-value1></p> <h4>module-name2</h4> <p>':'</p> <h4>property-name2</h4> <p>'=' <property-value2> ...</p> <p>Example:</p> <p>FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ cff:no-stem-darkening=1 \ autofitter:warping=1</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> |
Changes to jni/freetype/docs/reference/ft2-header_inclusion.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="header_inclusion">FreeType's header inclusion scheme</h1> <p>To be as flexible as possible (and for historical reasons), FreeType uses a very special inclusion scheme to load header files, for example</p> <pre class="colored"> #include <ft2build.h> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-incremental.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="incremental">Incremental Loading</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Incremental">FT_Incremental</a></td><td><a href="#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td></tr> <tr><td><a href="#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td></tr> <tr><td><a href="#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-index.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | | | | | | | < | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <table class="index"> <tr><td><a href="ft2-header_file_macros.html#':'">':'</a></td><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-header_file_macros.html#FT_SYSTEM_H">FT_SYSTEM_H</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-basic_types.html#FT_Tag">FT_Tag</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td><td><a href="ft2-computations.html#FT_Tan">FT_Tan</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_NONE</a></td><td><a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a></td><td><a href="ft2-header_file_macros.html#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#BDF_Property">BDF_Property</a></td><td><a href="ft2-list_processing.html#FT_List">FT_List</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PropertyType</a></td><td><a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a></td></tr> <tr><td><a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a></td><td><a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a></td></tr> <tr><td><a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="ft2-list_processing.html#FT_List_Find">FT_List_Find</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td></tr> <tr><td><a href="ft2-type1_tables.html#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td></tr> <tr><td><a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td></tr> <tr><td><a href="ft2-type1_tables.html#CID_FontDict">CID_FontDict</a></td><td><a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td></tr> <tr><td><a href="ft2-type1_tables.html#CID_Info">CID_Info</a></td><td><a href="ft2-list_processing.html#FT_List_Remove">FT_List_Remove</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td></tr> <tr><td><a href="ft2-auto_hinter.html#darkening-parameters(autofit)">darkening-parameters (autofit)</a></td><td><a href="ft2-list_processing.html#FT_List_Up">FT_List_Up</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr> <tr><td><a href="ft2-cff_driver.html#darkening-parameters(cff)">darkening-parameters (cff)</a></td><td><a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr> <tr><td><a href="ft2-auto_hinter.html#default-script">default-script</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr> <tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr> <tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr> <tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COMPUTE_METRICS</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr> <tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr> <tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-basic_types.html#FT_UInt64">FT_UInt64</a></td></tr> <tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr> <tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr> <tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr> <tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr> <tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr> <tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr> <tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr> <tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr> <tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr> <tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr> <tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr> <tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr> <tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_INDIC</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr> <tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr> <tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_NONE</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr> <tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr> <tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr> <tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr> <tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr> <tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr> <tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Init">FT_Bitmap_Init</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_BZIP2_H">FT_BZIP2_H</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-module_management.html#FT_Module">FT_Module</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr> <tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr> <tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_ADOBE</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr> <tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_FREETYPE</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr> <tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr> <tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr> <tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr> <tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr> <tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr> <tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr> <tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr> <tr><td><a href="ft2-module_management.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_XXX</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr> <tr><td><a href="ft2-error_code_values.html#FT_Err_XXX">FT_Err_XXX</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-auto_hinter.html#fallback-script">fallback-script</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td><a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-cff_driver.html#hinting-engine(cff)">hinting-engine (cff)</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-auto_hinter.html#increase-x-height">increase-x-height</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-auto_hinter.html#no-stem-darkening(autofit)">no-stem-darkening (autofit)</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-cff_driver.html#no-stem-darkening(cff)">no-stem-darkening (cff)</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_FUZZ</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SCALE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SHIFT</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_VALUE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING_KEY</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_ENTRY</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_TYPE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_BLUE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_NAME</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_OTHER_BLUE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_BBOX</a></td></tr> <tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_MATRIX</a></td></tr> <tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_NAME</a></td></tr> <tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_TYPE</a></td></tr> <tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FORCE_BOLD</a></td></tr> <tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FS_TYPE</a></td></tr> <tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FULL_NAME</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_IS_FIXED_PITCH</a></td></tr> <tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ITALIC_ANGLE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LANGUAGE_GROUP</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LEN_IV</a></td></tr> <tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_MIN_FEATURE</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_FONT_FORMATS_H">FT_FONT_FORMATS_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NOTICE</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_BLUE_VALUES</a></td></tr> <tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_CHAR_STRINGS</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_BLUES</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_OTHER_BLUES</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_OTHER_BLUES</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_H</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_V</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_SUBRS</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_OTHER_BLUE</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PAINT_TYPE</a></td></tr> <tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PASSWORD</a></td></tr> <tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_RND_STEM_UP</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_HW</a></td></tr> <tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_VW</a></td></tr> <tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_H</a></td></tr> <tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_V</a></td></tr> <tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_SUBR</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_POSITION</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_THICKNESS</a></td></tr> <tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNIQUE_ID</a></td></tr> <tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_VERSION</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_WEIGHT</a></td></tr> <tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr> <tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr> <tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr> <tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SCALE</a></td></tr> <tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SHIFT</a></td></tr> <tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_VALUES</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_BLUES</a></td></tr> <tr><td><a href="ft2-font_formats.html#FT_Get_Font_Format">FT_Get_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_OTHER_BLUES</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FORCE_BOLD</a></td></tr> <tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_ITALIC_ANGLE</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_OTHER_BLUES</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_HEIGHT</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_WIDTH</a></td></tr> <tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_HEIGHTS</a></td></tr> <tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_WIDTHS</a></td></tr> <tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_POSITION</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_THICKNESS</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr> <tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ARRAY</a></td></tr> <tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_EXPERT</a></td></tr> <tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ISOLATIN1</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_NONE</a></td></tr> <tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_STANDARD</a></td></tr> <tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a></td></tr> <tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr> <tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr> <tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr> <tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr> <tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HEAD</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HHEA</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_MAXP</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr> <tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr> <tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_OS2</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr> <tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_PCLT</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr> <tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_POST</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr> <tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_VHEA</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_35</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_38</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_40</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr> <tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr> <tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr> <tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr> <tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr> <tr><td><a href="ft2-gzip.html#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr> <tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-bzip2.html#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr> <tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr> <tr><td><a href="ft2-basic_types.html#FT_Int64">FT_Int64</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_IS_NAMED_INSTANCE">FT_IS_NAMED_INSTANCE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr> <tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr> <tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr> <tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr> <tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr> <tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY1</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr> <tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td><td><a href="ft2-auto_hinter.html#warping">warping</a></td></tr> <tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td><td></td></tr> <tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td><td></td></tr> </table> <hr> <table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <div class="timestamp">generated on Thu Sep 8 09:06:35 2016</div></body> </html> |
Changes to jni/freetype/docs/reference/ft2-lcd_filtering.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="lcd_filtering">LCD Filtering</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td></tr> <tr><td><a href="#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-list_processing.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="list_processing">List Processing</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_List">FT_List</a></td><td><a href="#FT_List_Add">FT_List_Add</a></td><td><a href="#FT_List_Iterate">FT_List_Iterate</a></td></tr> <tr><td><a href="#FT_ListNode">FT_ListNode</a></td><td><a href="#FT_List_Insert">FT_List_Insert</a></td><td><a href="#FT_List_Iterator">FT_List_Iterator</a></td></tr> <tr><td><a href="#FT_ListRec">FT_ListRec</a></td><td><a href="#FT_List_Find">FT_List_Find</a></td><td><a href="#FT_List_Finalize">FT_List_Finalize</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-lzw.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="lzw">LZW Streams</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td></td><td></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-mac_specific.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="mac_specific">Mac Specific Interface</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td></tr> <tr><td><a href="#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td></tr> <tr><td><a href="#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-module_management.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="module_management">Module Management</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Module">FT_Module</a></td><td><a href="#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="#FT_Renderer">FT_Renderer</a></td></tr> <tr><td><a href="#FT_Module_Constructor">FT_Module_Constructor</a></td><td> </td><td><a href="#FT_Renderer_Class">FT_Renderer_Class</a></td></tr> <tr><td><a href="#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="#FT_Property_Set">FT_Property_Set</a></td><td> </td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-multiple_masters.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="multiple_masters">Multiple Masters</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="#FT_Get_MM_Var">FT_Get_MM_Var</a></td></tr> <tr><td><a href="#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td></tr> <tr><td><a href="#FT_Var_Axis">FT_Var_Axis</a></td><td><a href="#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td></tr> |
︙ | ︙ | |||
277 278 279 280 281 282 283 | <tr><td class="val" id="num_axis">num_axis</td><td class="desc"> <p>The number of axes. The maximum value is 4 for MM; no limit in GX.</p> </td></tr> <tr><td class="val" id="num_designs">num_designs</td><td class="desc"> <p>The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).</p> </td></tr> <tr><td class="val" id="num_namedstyles">num_namedstyles</td><td class="desc"> | | > | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | <tr><td class="val" id="num_axis">num_axis</td><td class="desc"> <p>The number of axes. The maximum value is 4 for MM; no limit in GX.</p> </td></tr> <tr><td class="val" id="num_designs">num_designs</td><td class="desc"> <p>The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).</p> </td></tr> <tr><td class="val" id="num_namedstyles">num_namedstyles</td><td class="desc"> <p>The number of named styles; a ‘named style’ is a tuple of design coordinates that has a string ID (in the ‘name’ table) associated with it. The font can tell the user that, for example, [Weight=1.5,Width=1.1] is ‘Bold’.</p> <p>For Type 1 Multiple Masters fonts, this value is always zero because the format does not support named styles.</p> </td></tr> <tr><td class="val" id="axis">axis</td><td class="desc"> <p>An axis descriptor table. GX fonts contain slightly more data than MM. Memory management of this pointer is done internally by FreeType.</p> </td></tr> <tr><td class="val" id="namedstyle">namedstyle</td><td class="desc"> <p>A named style table. Only meaningful with GX. Memory management of this pointer is done internally by FreeType.</p> </td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-ot_validation.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="ot_validation">OpenType Validation</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td> </td><td></td></tr> <tr><td><a href="#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-outline_processing.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="outline_processing">Outline Processing</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Outline">FT_Outline</a></td><td><a href="#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td></tr> <tr><td><a href="#FT_Outline_New">FT_Outline_New</a></td><td><a href="#FT_Outline_Render">FT_Outline_Render</a></td></tr> <tr><td><a href="#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="#FT_Outline_Decompose">FT_Outline_Decompose</a></td></tr> |
︙ | ︙ | |||
453 454 455 456 457 458 459 460 461 462 463 464 465 466 | <p>A handle to a source outline.</p> </td></tr> </table> <h4>return</h4> <p>FreeType error code. 0 means success.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_Outline_Get_CBox">FT_Outline_Get_CBox</h3> <p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p> <pre> | > > > | 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 | <p>A handle to a source outline.</p> </td></tr> </table> <h4>return</h4> <p>FreeType error code. 0 means success.</p> <h4>note</h4> <p>An empty outline, or an outline with a single point only is also valid.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_Outline_Get_CBox">FT_Outline_Get_CBox</h3> <p>Defined in FT_OUTLINE_H (freetype/ftoutln.h).</p> <pre> |
︙ | ︙ | |||
636 637 638 639 640 641 642 643 644 645 646 647 648 649 | </table> <h4>return</h4> <p>FreeType error code. 0 means success.</p> <h4>note</h4> <p>A contour that contains a single point only is represented by a ‘move to’ operation followed by ‘line to’ to the same point. In most cases, it is best to filter this out before using the outline for stroking purposes (otherwise it would result in a visible dot when round caps are used).</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_Outline_Funcs">FT_Outline_Funcs</h3> <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p> | > | 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 | </table> <h4>return</h4> <p>FreeType error code. 0 means success.</p> <h4>note</h4> <p>A contour that contains a single point only is represented by a ‘move to’ operation followed by ‘line to’ to the same point. In most cases, it is best to filter this out before using the outline for stroking purposes (otherwise it would result in a visible dot when round caps are used).</p> <p>Similarly, the function returns success for an empty outline also (doing nothing, this is, not calling any emitter); if necessary, you should filter this out, too.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_Outline_Funcs">FT_Outline_Funcs</h3> <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-pfr_fonts.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="pfr_fonts">PFR Fonts</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-quick_advance.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="quick_advance">Quick retrieval of advance values</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Get_Advance">FT_Get_Advance</a></td><td> </td></tr> <tr><td><a href="#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-raster.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="raster">Scanline Converter</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Raster">FT_Raster</a></td><td> </td><td><a href="#FT_Raster_Funcs">FT_Raster_Funcs</a></td></tr> <tr><td><a href="#FT_Span">FT_Span</a></td><td><a href="#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td> </td></tr> <tr><td><a href="#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td></tr> |
︙ | ︙ | |||
193 194 195 196 197 198 199 | <p>User-supplied data that is passed to the callback.</p> </td></tr> </table> <h4>note</h4> <p>This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.</p> <p>This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.</p> | < < | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | <p>User-supplied data that is passed to the callback.</p> </td></tr> </table> <h4>note</h4> <p>This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.</p> <p>This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FT_Raster_Params">FT_Raster_Params</h3> <p>Defined in FT_IMAGE_H (freetype/ftimage.h).</p> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-sfnt_names.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="sfnt_names">SFNT Names</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_SfntName">FT_SfntName</a></td></tr> <tr><td><a href="#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td></tr> <tr><td><a href="#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-sizes_management.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="sizes_management">Size Management</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_New_Size">FT_New_Size</a></td><td><a href="#FT_Done_Size">FT_Done_Size</a></td><td><a href="#FT_Activate_Size">FT_Activate_Size</a></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-system_interface.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="system_interface">System Interface</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Memory">FT_Memory</a></td><td><a href="#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td></tr> <tr><td><a href="#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="#FT_Stream">FT_Stream</a></td><td><a href="#FT_StreamRec">FT_StreamRec</a></td></tr> <tr><td><a href="#FT_Free_Func">FT_Free_Func</a></td><td><a href="#FT_StreamDesc">FT_StreamDesc</a></td><td></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-toc.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1>Table of Contents</h1> <div class="section"> <h2>General Remarks</h2> <table class="toc"> <tr><td class="link"><a href="ft2-header_inclusion.html">FreeType's header inclusion scheme</a></td><td class="desc"> <p>How client applications should include FreeType header files.</p> |
︙ | ︙ | |||
273 274 275 276 277 278 279 | </table> </div> <div class="section"> <h2><a href="ft2-index.html">Global Index</a></h2></div> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table> | | | 273 274 275 276 277 278 279 280 281 | </table> </div> <div class="section"> <h2><a href="ft2-index.html">Global Index</a></h2></div> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table> <div class="timestamp">generated on Thu Sep 8 09:06:35 2016</div></body> </html> |
Changes to jni/freetype/docs/reference/ft2-truetype_engine.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="truetype_engine">The TrueType Engine</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td><td><a href="#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-truetype_tables.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="truetype_tables">TrueType Tables</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#TT_Header">TT_Header</a></td><td> </td></tr> <tr><td><a href="#TT_HoriHeader">TT_HoriHeader</a></td><td><a href="#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td></tr> <tr><td><a href="#TT_VertHeader">TT_VertHeader</a></td><td><a href="#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-tt_driver.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="tt_driver">The TrueType driver</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#interpreter-version">interpreter-version</a></td><td><a href="#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr> </table> |
︙ | ︙ | |||
169 170 171 172 173 174 175 176 177 178 179 180 181 182 | * "interpreter-version", * &interpreter_version ); * } * * @note: * This property can be used with @<a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also. * */ </pre> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</h3> | > > | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | * "interpreter-version", * &interpreter_version ); * } * * @note: * This property can be used with @<a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also. * * This property can be set via the `FREETYPE_PROPERTIES' environment * variable (using values `35', `38', or `40'). */ </pre> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</h3> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-type1_tables.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="type1_tables">Type 1 Tables</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#PS_FontInfoRec">PS_FontInfoRec</a></td><td><a href="#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="#T1_EncodingType">T1_EncodingType</a></td></tr> <tr><td><a href="#PS_FontInfo">PS_FontInfo</a></td><td> </td><td><a href="#PS_Dict_Keys">PS_Dict_Keys</a></td></tr> <tr><td><a href="#PS_PrivateRec">PS_PrivateRec</a></td><td><a href="#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td> </td></tr> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-user_allocation.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="user_allocation">User allocation</h1> <p>FreeType assumes that structures allocated by the user and passed as arguments are zeroed out except for the actual data. In other words, it is recommended to use ‘calloc’ (or variants of it) instead of ‘malloc’ for allocation.</p> </body> </html> |
Changes to jni/freetype/docs/reference/ft2-version.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="version">FreeType Version</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_Library_Version">FT_Library_Version</a></td><td> </td></tr> <tr><td> </td><td><a href="#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td></tr> <tr><td><a href="#FREETYPE_MAJOR">FREETYPE_MAJOR</a></td><td><a href="#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td></tr> |
︙ | ︙ | |||
218 219 220 221 222 223 224 | <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FREETYPE_XXX">FREETYPE_XXX</h3> <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <a href="ft2-version.html#FREETYPE_MAJOR">FREETYPE_MAJOR</a> 2 | | | | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> <div class="section"> <h3 id="FREETYPE_XXX">FREETYPE_XXX</h3> <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <a href="ft2-version.html#FREETYPE_MAJOR">FREETYPE_MAJOR</a> 2 #define <a href="ft2-version.html#FREETYPE_MINOR">FREETYPE_MINOR</a> 7 #define <a href="ft2-version.html#FREETYPE_PATCH">FREETYPE_PATCH</a> 0 </pre> <p>These three macros identify the FreeType source code version. Use <a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a> to access them at runtime.</p> <h4>values</h4> <table class="fields"> <tr><td class="val" id="FREETYPE_MAJOR">FREETYPE_MAJOR</td><td class="desc"> |
︙ | ︙ |
Changes to jni/freetype/docs/reference/ft2-winfnt_fonts.html.
1 2 3 4 5 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>FreeType-2.7 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } a:hover { color: #FF0000; } body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; |
︙ | ︙ | |||
96 97 98 99 100 101 102 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | text-align: left; } </style> </head> <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> <h1>FreeType-2.7 API Reference</h1> <h1 id="winfnt_fonts">Window FNT Files</h1> <h2>Synopsis</h2> <table class="synopsis"> <tr><td><a href="#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td><td><a href="#FT_WinFNT_Header">FT_WinFNT_Header</a></td><td></td></tr> <tr><td><a href="#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td><td><a href="#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td></td></tr> </table> |
︙ | ︙ |
Changes to jni/freetype/include/freetype/config/ftoption.h.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | /**** ****/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* Uncomment the line below if you want to activate sub-pixel rendering */ /* (a.k.a. LCD rendering, or ClearType) in this build of the library. */ /* */ /* Note that this feature is covered by several Microsoft patents */ /* and should not be activated in any default build of the library. */ /* */ /* This macro has no impact on the FreeType API, only on its */ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | /**** ****/ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* If you enable this configuration option, FreeType recognizes an */ /* environment variable called `FREETYPE_PROPERTIES', which can be used */ /* to control the various font drivers and modules. The controllable */ /* properties are listed in the section `Controlling FreeType Modules' */ /* in the reference's table of contents; currently there are properties */ /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and */ /* TrueType (file `ftttdrv.h'). */ /* */ /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */ /* multiple lines for better readability). */ /* */ /* <optional whitespace> */ /* <module-name1> ':' */ /* <property-name1> '=' <property-value1> */ /* <whitespace> */ /* <module-name2> ':' */ /* <property-name2> '=' <property-value2> */ /* ... */ /* */ /* Example: */ /* */ /* FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ */ /* cff:no-stem-darkening=1 \ */ /* autofitter:warping=1 */ /* */ #define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES /*************************************************************************/ /* */ /* Uncomment the line below if you want to activate sub-pixel rendering */ /* (a.k.a. LCD rendering, or ClearType) in this build of the library. */ /* */ /* Note that this feature is covered by several Microsoft patents */ /* and should not be activated in any default build of the library. */ /* */ /* This macro has no impact on the FreeType API, only on its */ |
︙ | ︙ | |||
490 491 492 493 494 495 496 | /* */ /* If this macro is set (which is _not_ the default), FreeType2 will */ /* avoid creating constants that require address fixups. Instead the */ /* constants will be moved into a struct and additional intialization */ /* code will be used. */ /* */ /* Setting this macro is needed for systems that prohibit address */ | > > > > | > > > > > > > > > > | 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 | /* */ /* If this macro is set (which is _not_ the default), FreeType2 will */ /* avoid creating constants that require address fixups. Instead the */ /* constants will be moved into a struct and additional intialization */ /* code will be used. */ /* */ /* Setting this macro is needed for systems that prohibit address */ /* fixups, such as BREW. [Note that standard compilers like gcc or */ /* clang handle PIC generation automatically; you don't have to set */ /* FT_CONFIG_OPTION_PIC, which is only necessary for very special */ /* compilers.] */ /* */ /* Note that FT_CONFIG_OPTION_PIC support is not available for all */ /* modules (see `modules.cfg' for a complete list). For building with */ /* FT_CONFIG_OPTION_PIC support, do the following. */ /* */ /* 0. Clone the repository. */ /* 1. Define FT_CONFIG_OPTION_PIC. */ /* 2. Remove all subdirectories in `src' that don't have */ /* FT_CONFIG_OPTION_PIC support. */ /* 3. Comment out the corresponding modules in `modules.cfg'. */ /* 4. Compile. */ /* */ /* #define FT_CONFIG_OPTION_PIC */ /*************************************************************************/ /*************************************************************************/ /**** ****/ |
︙ | ︙ |
Changes to jni/freetype/include/freetype/config/ftstdlib.h.
︙ | ︙ | |||
138 139 140 141 142 143 144 | /**********************************************************************/ /* */ /* miscellaneous */ /* */ /**********************************************************************/ | | > | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | /**********************************************************************/ /* */ /* miscellaneous */ /* */ /**********************************************************************/ #define ft_strtol strtol #define ft_getenv getenv /**********************************************************************/ /* */ /* execution control */ /* */ /**********************************************************************/ |
︙ | ︙ |
Changes to jni/freetype/include/freetype/freetype.h.
︙ | ︙ | |||
1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 | */ #define FT_HAS_MULTIPLE_MASTERS( face ) \ ( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) /************************************************************************* * * @macro: * FT_IS_CID_KEYED( face ) * * @description: * A macro that returns true whenever a face object contains a CID-keyed * font. See the discussion of @FT_FACE_FLAG_CID_KEYED for more * details. | > > > > > > > > > > > > > > | 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 | */ #define FT_HAS_MULTIPLE_MASTERS( face ) \ ( (face)->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) /************************************************************************* * * @macro: * FT_IS_NAMED_INSTANCE( face ) * * @description: * A macro that returns true whenever a face object is a named instance * of a GX variation font. * */ #define FT_IS_NAMED_INSTANCE( face ) \ ( (face)->face_index & 0x7FFF0000L ) /************************************************************************* * * @macro: * FT_IS_CID_KEYED( face ) * * @description: * A macro that returns true whenever a face object contains a CID-keyed * font. See the discussion of @FT_FACE_FLAG_CID_KEYED for more * details. |
︙ | ︙ | |||
2327 2328 2329 2330 2331 2332 2333 | /*************************************************************************/ /* */ /* <Enum> */ /* FT_Size_Request_Type */ /* */ /* <Description> */ | | > > > > > > > > > | 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 | /*************************************************************************/ /* */ /* <Enum> */ /* FT_Size_Request_Type */ /* */ /* <Description> */ /* An enumeration type that lists the supported size request types, */ /* i.e., what input size (in font units) maps to the requested output */ /* size (in pixels, as computed from the arguments of */ /* @FT_Size_Request). */ /* */ /* <Values> */ /* FT_SIZE_REQUEST_TYPE_NOMINAL :: */ /* The nominal size. The `units_per_EM' field of @FT_FaceRec is */ /* used to determine both scaling values. */ /* */ /* This is the standard scaling found in most applications. In */ /* particular, use this size request type for TrueType fonts if */ /* they provide optical scaling or something similar. Note, */ /* however, that `units_per_EM' is a rather abstract value which */ /* bears no relation to the actual size of the glyphs in a font. */ /* */ /* FT_SIZE_REQUEST_TYPE_REAL_DIM :: */ /* The real dimension. The sum of the `ascender' and (minus of) */ /* the `descender' fields of @FT_FaceRec are used to determine both */ /* scaling values. */ /* */ /* FT_SIZE_REQUEST_TYPE_BBOX :: */ |
︙ | ︙ | |||
2387 2388 2389 2390 2391 2392 2393 | /* */ /* <Description> */ /* A structure used to model a size request. */ /* */ /* <Fields> */ /* type :: See @FT_Size_Request_Type. */ /* */ | | > | > | | | | | | > > > > > | 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 | /* */ /* <Description> */ /* A structure used to model a size request. */ /* */ /* <Fields> */ /* type :: See @FT_Size_Request_Type. */ /* */ /* width :: The desired width, given as a 26.6 fractional */ /* point value (with 72pt = 1in). */ /* */ /* height :: The desired height, given as a 26.6 fractional */ /* point value (with 72pt = 1in). */ /* */ /* horiResolution :: The horizontal resolution (dpi, i.e., pixels per */ /* inch). If set to zero, `width' is treated as a */ /* 26.6 fractional *pixel* value. */ /* */ /* vertResolution :: The vertical resolution (dpi, i.e., pixels per */ /* inch). If set to zero, `height' is treated as a */ /* 26.6 fractional *pixel* value. */ /* */ /* <Note> */ /* If `width' is zero, then the horizontal scaling value is set equal */ /* to the vertical scaling value, and vice versa. */ /* */ /* If `type' is FT_SIZE_REQUEST_TYPE_SCALES, `width' and `height' are */ /* interpreted directly as 16.16 fractional scaling values, without */ /* any further modification, and both `horiResolution' and */ /* `vertResolution' are ignored. */ /* */ typedef struct FT_Size_RequestRec_ { FT_Size_Request_Type type; FT_Long width; FT_Long height; FT_UInt horiResolution; |
︙ | ︙ | |||
4171 4172 4173 4174 4175 4176 4177 | * @note: * The version number of FreeType if built as a dynamic link library * with the `libtool' package is _not_ controlled by these three * macros. * */ #define FREETYPE_MAJOR 2 | | | | 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 | * @note: * The version number of FreeType if built as a dynamic link library * with the `libtool' package is _not_ controlled by these three * macros. * */ #define FREETYPE_MAJOR 2 #define FREETYPE_MINOR 7 #define FREETYPE_PATCH 0 /*************************************************************************/ /* */ /* <Function> */ /* FT_Library_Version */ /* */ |
︙ | ︙ |
Changes to jni/freetype/include/freetype/ftautoh.h.
︙ | ︙ | |||
423 424 425 426 427 428 429 430 431 432 433 434 435 436 | * * FT_Property_Set( library, "autofitter", * "warping", &warping ); * } * * @note: * This property can be used with @FT_Property_Get also. * * The warping code can also change advance widths. Have a look at the * `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure * for details on improving inter-glyph distances while rendering. * * Since warping is a global property of the auto-hinter it is best to * change its value before rendering any face. Otherwise, you should | > > > | 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 | * * FT_Property_Set( library, "autofitter", * "warping", &warping ); * } * * @note: * This property can be used with @FT_Property_Get also. * * This property can be set via the `FREETYPE_PROPERTIES' environment * variable (using values 1 and 0 for `on' and `off', respectively). * * The warping code can also change advance widths. Have a look at the * `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure * for details on improving inter-glyph distances while rendering. * * Since warping is a global property of the auto-hinter it is best to * change its value before rendering any face. Otherwise, you should |
︙ | ︙ | |||
469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 | * See the description of the CFF driver for algorithmic details. Total * consistency with the CFF driver is currently not achieved because the * emboldening method differs and glyphs must be scaled down on the * Y-axis to keep outline points inside their precomputed blue zones. * The smaller the size (especially 9ppem and down), the higher the loss * of emboldening versus the CFF driver. * */ /************************************************************************** * * @property: * darkening-parameters[autofit] * * @description: * *Experimental* *only* * * See the description of the CFF driver for details. This * implementation appropriates the * CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency. * Note the differences described in @no-stem-darkening[autofit]. * */ /* */ FT_END_HEADER #endif /* FTAUTOH_H_ */ /* END */ | > > > > > | 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 | * See the description of the CFF driver for algorithmic details. Total * consistency with the CFF driver is currently not achieved because the * emboldening method differs and glyphs must be scaled down on the * Y-axis to keep outline points inside their precomputed blue zones. * The smaller the size (especially 9ppem and down), the higher the loss * of emboldening versus the CFF driver. * * This property can be set via the `FREETYPE_PROPERTIES' environment * variable similar to the CFF driver. * */ /************************************************************************** * * @property: * darkening-parameters[autofit] * * @description: * *Experimental* *only* * * See the description of the CFF driver for details. This * implementation appropriates the * CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency. * Note the differences described in @no-stem-darkening[autofit]. * * This property can be set via the `FREETYPE_PROPERTIES' environment * variable similar to the CFF driver. */ /* */ FT_END_HEADER #endif /* FTAUTOH_H_ */ /* END */ |
Changes to jni/freetype/include/freetype/ftcffdrv.h.
︙ | ︙ | |||
144 145 146 147 148 149 150 151 152 153 154 155 156 157 | * FT_Property_Set( library, "cff", * "hinting-engine", &hinting_engine ); * } * * @note: * This property can be used with @FT_Property_Get also. * */ /************************************************************************** * * @enum: * FT_CFF_HINTING_XXX | > > | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | * FT_Property_Set( library, "cff", * "hinting-engine", &hinting_engine ); * } * * @note: * This property can be used with @FT_Property_Get also. * * This property can be set via the `FREETYPE_PROPERTIES' environment * variable (using values `adobe' or `freetype'). */ /************************************************************************** * * @enum: * FT_CFF_HINTING_XXX |
︙ | ︙ | |||
195 196 197 198 199 200 201 202 203 204 205 206 207 208 | * FT_Property_Set( library, "cff", * "no-stem-darkening", &no_stem_darkening ); * } * * @note: * This property can be used with @FT_Property_Get also. * */ /************************************************************************** * * @property: * darkening-parameters[cff] | > > > | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | * FT_Property_Set( library, "cff", * "no-stem-darkening", &no_stem_darkening ); * } * * @note: * This property can be used with @FT_Property_Get also. * * This property can be set via the `FREETYPE_PROPERTIES' environment * variable (using values 1 and 0 for `on' and `off', respectively). * */ /************************************************************************** * * @property: * darkening-parameters[cff] |
︙ | ︙ | |||
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | * y~values must be monotonically decreasing and smaller than or * equal to 500 (corresponding to half a pixel); the slope of each * linear piece must be shallower than -1 (e.g., -.4). * * @note: * This property can be used with @FT_Property_Get also. * */ /* */ FT_END_HEADER #endif /* FTCFFDRV_H_ */ /* END */ | > > > > > > > > | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | * y~values must be monotonically decreasing and smaller than or * equal to 500 (corresponding to half a pixel); the slope of each * linear piece must be shallower than -1 (e.g., -.4). * * @note: * This property can be used with @FT_Property_Get also. * * This property can be set via the `FREETYPE_PROPERTIES' environment * variable, using eight comma-separated integers without spaces. Here * the above example, using `\' to break the line for readability. * * { * FREETYPE_PROPERTIES=\ * cff:darkening-parameters=500,300,1000,200,1500,100,2000,0 * } */ /* */ FT_END_HEADER #endif /* FTCFFDRV_H_ */ /* END */ |
Changes to jni/freetype/include/freetype/ftimage.h.
︙ | ︙ | |||
855 856 857 858 859 860 861 | /* */ /* <Note> */ /* This callback allows client applications to directly render the */ /* gray spans of the anti-aliased bitmap to any kind of surfaces. */ /* */ /* This can be used to write anti-aliased outlines directly to a */ /* given background bitmap, and even perform translucency. */ | < < < < < < < < < < | 855 856 857 858 859 860 861 862 863 864 865 866 867 868 | /* */ /* <Note> */ /* This callback allows client applications to directly render the */ /* gray spans of the anti-aliased bitmap to any kind of surfaces. */ /* */ /* This can be used to write anti-aliased outlines directly to a */ /* given background bitmap, and even perform translucency. */ /* */ typedef void (*FT_SpanFunc)( int y, int count, const FT_Span* spans, void* user ); |
︙ | ︙ |
Changes to jni/freetype/include/freetype/ftmm.h.
︙ | ︙ | |||
191 192 193 194 195 196 197 | /* MM; no limit in GX. */ /* */ /* num_designs :: The number of designs; should be normally */ /* 2^num_axis for MM fonts. Not meaningful for GX */ /* (where every glyph could have a different */ /* number of designs). */ /* */ | | | | | | > > > > | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | /* MM; no limit in GX. */ /* */ /* num_designs :: The number of designs; should be normally */ /* 2^num_axis for MM fonts. Not meaningful for GX */ /* (where every glyph could have a different */ /* number of designs). */ /* */ /* num_namedstyles :: The number of named styles; a `named style' is */ /* a tuple of design coordinates that has a string */ /* ID (in the `name' table) associated with it. */ /* The font can tell the user that, for example, */ /* [Weight=1.5,Width=1.1] is `Bold'. */ /* */ /* For Type 1 Multiple Masters fonts, this value */ /* is always zero because the format does not */ /* support named styles. */ /* */ /* axis :: An axis descriptor table. */ /* GX fonts contain slightly more data than MM. */ /* Memory management of this pointer is done */ /* internally by FreeType. */ /* */ /* namedstyle :: A named style table. */ |
︙ | ︙ |
Changes to jni/freetype/include/freetype/ftoutln.h.
︙ | ︙ | |||
111 112 113 114 115 116 117 118 119 120 121 122 123 124 | /* <Note> */ /* A contour that contains a single point only is represented by a */ /* `move to' operation followed by `line to' to the same point. In */ /* most cases, it is best to filter this out before using the */ /* outline for stroking purposes (otherwise it would result in a */ /* visible dot when round caps are used). */ /* */ FT_EXPORT( FT_Error ) FT_Outline_Decompose( FT_Outline* outline, const FT_Outline_Funcs* func_interface, void* user ); /*************************************************************************/ | > > > > | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | /* <Note> */ /* A contour that contains a single point only is represented by a */ /* `move to' operation followed by `line to' to the same point. In */ /* most cases, it is best to filter this out before using the */ /* outline for stroking purposes (otherwise it would result in a */ /* visible dot when round caps are used). */ /* */ /* Similarly, the function returns success for an empty outline also */ /* (doing nothing, this is, not calling any emitter); if necessary, */ /* you should filter this out, too. */ /* */ FT_EXPORT( FT_Error ) FT_Outline_Decompose( FT_Outline* outline, const FT_Outline_Funcs* func_interface, void* user ); /*************************************************************************/ |
︙ | ︙ | |||
208 209 210 211 212 213 214 215 216 217 218 219 220 221 | /* Check the contents of an outline descriptor. */ /* */ /* <Input> */ /* outline :: A handle to a source outline. */ /* */ /* <Return> */ /* FreeType error code. 0~means success. */ /* */ FT_EXPORT( FT_Error ) FT_Outline_Check( FT_Outline* outline ); /*************************************************************************/ /* */ | > > > > | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | /* Check the contents of an outline descriptor. */ /* */ /* <Input> */ /* outline :: A handle to a source outline. */ /* */ /* <Return> */ /* FreeType error code. 0~means success. */ /* */ /* <Note> */ /* An empty outline, or an outline with a single point only is also */ /* valid. */ /* */ FT_EXPORT( FT_Error ) FT_Outline_Check( FT_Outline* outline ); /*************************************************************************/ /* */ |
︙ | ︙ |
Changes to jni/freetype/include/freetype/ftttdrv.h.
︙ | ︙ | |||
177 178 179 180 181 182 183 184 185 186 187 188 189 190 | * "interpreter-version", * &interpreter_version ); * } * * @note: * This property can be used with @FT_Property_Get also. * */ /************************************************************************** * * @enum: * TT_INTERPRETER_VERSION_XXX | > > | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | * "interpreter-version", * &interpreter_version ); * } * * @note: * This property can be used with @FT_Property_Get also. * * This property can be set via the `FREETYPE_PROPERTIES' environment * variable (using values `35', `38', or `40'). */ /************************************************************************** * * @enum: * TT_INTERPRETER_VERSION_XXX |
︙ | ︙ |
Changes to jni/freetype/include/freetype/internal/ftdriver.h.
︙ | ︙ | |||
62 63 64 65 66 67 68 | typedef FT_Error (*FT_Slot_LoadFunc)( FT_GlyphSlot slot, FT_Size size, FT_UInt glyph_index, FT_Int32 load_flags ); | < < < < < < < < < | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | typedef FT_Error (*FT_Slot_LoadFunc)( FT_GlyphSlot slot, FT_Size size, FT_UInt glyph_index, FT_Int32 load_flags ); typedef FT_Error (*FT_Face_GetKerningFunc)( FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_Vector* kerning ); |
︙ | ︙ |
Changes to jni/freetype/include/freetype/internal/ftmemory.h.
︙ | ︙ | |||
104 105 106 107 108 109 110 | #define FT_ASSIGNP_INNER( p, exp ) FT_ASSIGNP( p, exp ) #endif /* !FT_DEBUG_MEMORY */ /* * The allocation functions return a pointer, and the error code | | < > > > | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | #define FT_ASSIGNP_INNER( p, exp ) FT_ASSIGNP( p, exp ) #endif /* !FT_DEBUG_MEMORY */ /* * The allocation functions return a pointer, and the error code * is written to through the `p_error' parameter. */ /* The `q' variants of the functions below (`q' for `quick') don't fill */ /* the allocated or reallocated memory with zero bytes. */ FT_BASE( FT_Pointer ) ft_mem_alloc( FT_Memory memory, FT_Long size, FT_Error *p_error ); FT_BASE( FT_Pointer ) |
︙ | ︙ | |||
138 139 140 141 142 143 144 145 146 147 148 149 150 151 | void* block, FT_Error *p_error ); FT_BASE( void ) ft_mem_free( FT_Memory memory, const void* P ); #define FT_MEM_ALLOC( ptr, size ) \ FT_ASSIGNP_INNER( ptr, ft_mem_alloc( memory, \ (FT_Long)(size), \ &error ) ) #define FT_MEM_FREE( ptr ) \ | > > > | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | void* block, FT_Error *p_error ); FT_BASE( void ) ft_mem_free( FT_Memory memory, const void* P ); /* The `Q' variants of the macros below (`Q' for `quick') don't fill */ /* the allocated or reallocated memory with zero bytes. */ #define FT_MEM_ALLOC( ptr, size ) \ FT_ASSIGNP_INNER( ptr, ft_mem_alloc( memory, \ (FT_Long)(size), \ &error ) ) #define FT_MEM_FREE( ptr ) \ |
︙ | ︙ |
Changes to jni/freetype/include/freetype/internal/ftobjs.h.
︙ | ︙ | |||
527 528 529 530 531 532 533 534 535 536 537 538 539 540 | FT_BASE( const void* ) FT_Get_Module_Interface( FT_Library library, const char* mod_name ); FT_BASE( FT_Pointer ) ft_module_get_service( FT_Module module, const char* service_id ); /* */ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ | > > > > > > > > | 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 | FT_BASE( const void* ) FT_Get_Module_Interface( FT_Library library, const char* mod_name ); FT_BASE( FT_Pointer ) ft_module_get_service( FT_Module module, const char* service_id ); #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES FT_BASE( FT_Error ) ft_property_string_set( FT_Library library, const FT_String* module_name, const FT_String* property_name, FT_String* value ); #endif /* */ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ |
︙ | ︙ |
Changes to jni/freetype/include/freetype/internal/services/svprop.h.
︙ | ︙ | |||
25 26 27 28 29 30 31 | #define FT_SERVICE_ID_PROPERTIES "properties" typedef FT_Error (*FT_Properties_SetFunc)( FT_Module module, const char* property_name, | | > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #define FT_SERVICE_ID_PROPERTIES "properties" typedef FT_Error (*FT_Properties_SetFunc)( FT_Module module, const char* property_name, const void* value, FT_Bool value_is_string ); typedef FT_Error (*FT_Properties_GetFunc)( FT_Module module, const char* property_name, void* value ); |
︙ | ︙ |
Changes to jni/freetype/include/freetype/internal/tttypes.h.
︙ | ︙ | |||
1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 | #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY /* since 2.4.12 */ FT_ULong sph_found_func_flags; /* special functions found */ /* for this face */ FT_Bool sph_compatibility_mode; #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ } TT_FaceRec; /*************************************************************************/ /* */ /* <Struct> */ | > > > > > > | 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 | #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY /* since 2.4.12 */ FT_ULong sph_found_func_flags; /* special functions found */ /* for this face */ FT_Bool sph_compatibility_mode; #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ #ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS /* since 2.7 */ FT_ULong ebdt_start; /* either `CBDT', `EBDT', or `bdat' */ FT_ULong ebdt_size; #endif } TT_FaceRec; /*************************************************************************/ /* */ /* <Struct> */ |
︙ | ︙ |
Changes to jni/freetype/modules.cfg.
︙ | ︙ | |||
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | # # This driver needs the `sfnt' module. FONT_MODULES += truetype # PostScript Type 1 font driver. # # This driver needs the `psaux', `pshinter', and `psnames' modules. FONT_MODULES += type1 # CFF/OpenType font driver. # # This driver needs the `sfnt', `pshinter', and `psnames' modules. FONT_MODULES += cff # Type 1 CID-keyed font driver. # # This driver needs the `psaux', `pshinter', and `psnames' modules. FONT_MODULES += cid # PFR/TrueDoc font driver. See optional extension ftpfr.c below also. FONT_MODULES += pfr # PostScript Type 42 font driver. # # This driver needs the `truetype' and `psaux' modules. FONT_MODULES += type42 # Windows FONT/FNT font driver. See optional extension ftwinfnt.c below # also. FONT_MODULES += winfonts # PCF font driver. FONT_MODULES += pcf # BDF font driver. See optional extension ftbdf.c below also. FONT_MODULES += bdf # SFNT files support. If used without `truetype' or `cff', it supports # bitmap-only fonts within an SFNT wrapper. # # This driver needs the `psnames' module. FONT_MODULES += sfnt | > > > > > > > | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | # # This driver needs the `sfnt' module. FONT_MODULES += truetype # PostScript Type 1 font driver. # # This driver needs the `psaux', `pshinter', and `psnames' modules. # No FT_CONFIG_OPTION_PIC support. FONT_MODULES += type1 # CFF/OpenType font driver. # # This driver needs the `sfnt', `pshinter', and `psnames' modules. FONT_MODULES += cff # Type 1 CID-keyed font driver. # # This driver needs the `psaux', `pshinter', and `psnames' modules. # No FT_CONFIG_OPTION_PIC support. FONT_MODULES += cid # PFR/TrueDoc font driver. See optional extension ftpfr.c below also. # No FT_CONFIG_OPTION_PIC support. FONT_MODULES += pfr # PostScript Type 42 font driver. # # This driver needs the `truetype' and `psaux' modules. # No FT_CONFIG_OPTION_PIC support. FONT_MODULES += type42 # Windows FONT/FNT font driver. See optional extension ftwinfnt.c below # also. # No FT_CONFIG_OPTION_PIC support. FONT_MODULES += winfonts # PCF font driver. # No FT_CONFIG_OPTION_PIC support. FONT_MODULES += pcf # BDF font driver. See optional extension ftbdf.c below also. # No FT_CONFIG_OPTION_PIC support. FONT_MODULES += bdf # SFNT files support. If used without `truetype' or `cff', it supports # bitmap-only fonts within an SFNT wrapper. # # This driver needs the `psnames' module. FONT_MODULES += sfnt |
︙ | ︙ | |||
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | #### #### auxiliary modules #### # FreeType's cache sub-system (quite stable but still in beta -- this means # that its public API is subject to change if necessary). See # include/freetype/ftcache.h. Needs ftglyph.c. AUX_MODULES += cache # TrueType GX/AAT table validation. Needs ftgxval.c below. # AUX_MODULES += gxvalid # Support for streams compressed with gzip (files with suffix .gz). # # See include/freetype/ftgzip.h for the API. AUX_MODULES += gzip # Support for streams compressed with LZW (files with suffix .Z). # # See include/freetype/ftlzw.h for the API. AUX_MODULES += lzw # Support for streams compressed with bzip2 (files with suffix .bz2). # # See include/freetype/ftbzip2.h for the API. AUX_MODULES += bzip2 # OpenType table validation. Needs ftotval.c below. # # AUX_MODULES += otvalid # Auxiliary PostScript driver component to share common code. # # This module depends on `psnames'. AUX_MODULES += psaux # Support for PostScript glyph names. # # This module can be controlled in ftconfig.h # (FT_CONFIG_OPTION_POSTSCRIPT_NAMES). AUX_MODULES += psnames | > > > > > > > > | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | #### #### auxiliary modules #### # FreeType's cache sub-system (quite stable but still in beta -- this means # that its public API is subject to change if necessary). See # include/freetype/ftcache.h. Needs ftglyph.c. # No FT_CONFIG_OPTION_PIC support. AUX_MODULES += cache # TrueType GX/AAT table validation. Needs ftgxval.c below. # # No FT_CONFIG_OPTION_PIC support. # AUX_MODULES += gxvalid # Support for streams compressed with gzip (files with suffix .gz). # # See include/freetype/ftgzip.h for the API. # No FT_CONFIG_OPTION_PIC support. AUX_MODULES += gzip # Support for streams compressed with LZW (files with suffix .Z). # # See include/freetype/ftlzw.h for the API. # No FT_CONFIG_OPTION_PIC support. AUX_MODULES += lzw # Support for streams compressed with bzip2 (files with suffix .bz2). # # See include/freetype/ftbzip2.h for the API. # No FT_CONFIG_OPTION_PIC support. AUX_MODULES += bzip2 # OpenType table validation. Needs ftotval.c below. # # No FT_CONFIG_OPTION_PIC support. # AUX_MODULES += otvalid # Auxiliary PostScript driver component to share common code. # # This module depends on `psnames'. # No FT_CONFIG_OPTION_PIC support. AUX_MODULES += psaux # Support for PostScript glyph names. # # This module can be controlled in ftconfig.h # (FT_CONFIG_OPTION_POSTSCRIPT_NAMES). AUX_MODULES += psnames |
︙ | ︙ |
Changes to jni/freetype/src/autofit/afblue.c.
︙ | ︙ | |||
28 29 30 31 32 33 34 | /* */ '\xD8', '\xA7', ' ', '\xD8', '\xA5', ' ', '\xD9', '\x84', ' ', '\xD9', '\x83', ' ', '\xD8', '\xB7', ' ', '\xD8', '\xB8', /* ا إ ل ك ط ظ */ '\0', '\xD8', '\xAA', ' ', '\xD8', '\xAB', ' ', '\xD8', '\xB7', ' ', '\xD8', '\xB8', ' ', '\xD9', '\x83', /* ت ث ط ظ ك */ '\0', '\xD9', '\x80', /* ـ */ '\0', | | | | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | /* */ '\xD8', '\xA7', ' ', '\xD8', '\xA5', ' ', '\xD9', '\x84', ' ', '\xD9', '\x83', ' ', '\xD8', '\xB7', ' ', '\xD8', '\xB8', /* ا إ ل ك ط ظ */ '\0', '\xD8', '\xAA', ' ', '\xD8', '\xAB', ' ', '\xD8', '\xB7', ' ', '\xD8', '\xB8', ' ', '\xD9', '\x83', /* ت ث ط ظ ك */ '\0', '\xD9', '\x80', /* ـ */ '\0', '\xD4', '\xB1', ' ', '\xD5', '\x84', ' ', '\xD5', '\x92', ' ', '\xD5', '\x8D', ' ', '\xD4', '\xB2', ' ', '\xD4', '\xB3', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x95', /* Ա Մ Ւ Ս Բ Գ Դ Օ */ '\0', '\xD5', '\x92', ' ', '\xD5', '\x88', ' ', '\xD4', '\xB4', ' ', '\xD5', '\x83', ' ', '\xD5', '\x87', ' ', '\xD5', '\x8D', ' ', '\xD5', '\x8F', ' ', '\xD5', '\x95', /* Ւ Ո Դ Ճ Շ Ս Տ Օ */ '\0', '\xD5', '\xA5', ' ', '\xD5', '\xA7', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xB4', ' ', '\xD5', '\xBE', ' ', '\xD6', '\x86', ' ', '\xD5', '\xB3', /* ե է ի մ վ ֆ ճ */ '\0', '\xD5', '\xA1', ' ', '\xD5', '\xB5', ' ', '\xD6', '\x82', ' ', '\xD5', '\xBD', ' ', '\xD5', '\xA3', ' ', '\xD5', '\xB7', ' ', '\xD6', '\x80', ' ', '\xD6', '\x85', /* ա յ ւ ս գ շ ր օ */ '\0', '\xD5', '\xB0', ' ', '\xD5', '\xB8', ' ', '\xD5', '\xB3', ' ', '\xD5', '\xA1', ' ', '\xD5', '\xA5', ' ', '\xD5', '\xAE', ' ', '\xD5', '\xBD', ' ', '\xD6', '\x85', /* հ ո ճ ա ե ծ ս օ */ '\0', '\xD5', '\xA2', ' ', '\xD5', '\xA8', ' ', '\xD5', '\xAB', ' ', '\xD5', '\xAC', ' ', '\xD5', '\xB2', ' ', '\xD5', '\xBA', ' ', '\xD6', '\x83', ' ', '\xD6', '\x81', /* բ ը ի լ ղ պ փ ց */ '\0', '\xE0', '\xA6', '\x85', ' ', '\xE0', '\xA6', '\xA1', ' ', '\xE0', '\xA6', '\xA4', ' ', '\xE0', '\xA6', '\xA8', ' ', '\xE0', '\xA6', '\xAC', ' ', '\xE0', '\xA6', '\xAD', ' ', '\xE0', '\xA6', '\xB2', ' ', '\xE0', '\xA6', '\x95', /* অ ড ত ন ব ভ ল ক */ '\0', |
︙ | ︙ |
Changes to jni/freetype/src/autofit/afblue.dat.
︙ | ︙ | |||
83 84 85 86 87 88 89 | // guaranteed to have the same vertical position with joining (this is, // non-isolated) forms is U+0640, ARABIC TATWEEL, which must join both // round and flat curves. AF_BLUE_STRING_ARABIC_JOIN "ـ" AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP | | | | | | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | // guaranteed to have the same vertical position with joining (this is, // non-isolated) forms is U+0640, ARABIC TATWEEL, which must join both // round and flat curves. AF_BLUE_STRING_ARABIC_JOIN "ـ" AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP "Ա Մ Ւ Ս Բ Գ Դ Օ" AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM "Ւ Ո Դ Ճ Շ Ս Տ Օ" AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER "ե է ի մ վ ֆ ճ" AF_BLUE_STRING_ARMENIAN_SMALL_TOP "ա յ ւ ս գ շ ր օ" AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM "հ ո ճ ա ե ծ ս օ" AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER "բ ը ի լ ղ պ փ ց" AF_BLUE_STRING_BENGALI_BASE "অ ড ত ন ব ভ ল ক" |
︙ | ︙ |
Changes to jni/freetype/src/autofit/afblue.h.
︙ | ︙ | |||
79 80 81 82 83 84 85 | { AF_BLUE_STRING_ARABIC_TOP = 0, AF_BLUE_STRING_ARABIC_BOTTOM = 18, AF_BLUE_STRING_ARABIC_JOIN = 33, AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP = 36, AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM = 60, AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER = 84, | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | { AF_BLUE_STRING_ARABIC_TOP = 0, AF_BLUE_STRING_ARABIC_BOTTOM = 18, AF_BLUE_STRING_ARABIC_JOIN = 33, AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP = 36, AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM = 60, AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER = 84, AF_BLUE_STRING_ARMENIAN_SMALL_TOP = 105, AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM = 129, AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER = 153, AF_BLUE_STRING_BENGALI_BASE = 177, AF_BLUE_STRING_BENGALI_TOP = 209, AF_BLUE_STRING_BENGALI_HEAD = 237, AF_BLUE_STRING_CHEROKEE_CAPITAL = 269, AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER = 301, AF_BLUE_STRING_CHEROKEE_SMALL = 333, AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER = 365, AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 381, AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 405, AF_BLUE_STRING_CYRILLIC_SMALL = 429, AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 453, AF_BLUE_STRING_DEVANAGARI_BASE = 462, AF_BLUE_STRING_DEVANAGARI_TOP = 494, AF_BLUE_STRING_DEVANAGARI_HEAD = 526, AF_BLUE_STRING_DEVANAGARI_BOTTOM = 558, AF_BLUE_STRING_ETHIOPIC_TOP = 566, AF_BLUE_STRING_ETHIOPIC_BOTTOM = 598, AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP = 630, AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM = 662, AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER = 694, AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER = 726, AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP = 758, AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM = 790, AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP = 822, AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM = 854, AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER = 886, AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER = 918, AF_BLUE_STRING_GREEK_CAPITAL_TOP = 950, AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 971, AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 989, AF_BLUE_STRING_GREEK_SMALL = 1007, AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 1031, AF_BLUE_STRING_GUJARATI_TOP = 1055, AF_BLUE_STRING_GUJARATI_BOTTOM = 1087, AF_BLUE_STRING_GUJARATI_ASCENDER = 1119, AF_BLUE_STRING_GUJARATI_DESCENDER = 1169, AF_BLUE_STRING_GUJARATI_DIGIT_TOP = 1202, AF_BLUE_STRING_GURMUKHI_BASE = 1222, AF_BLUE_STRING_GURMUKHI_HEAD = 1254, AF_BLUE_STRING_GURMUKHI_TOP = 1286, AF_BLUE_STRING_GURMUKHI_BOTTOM = 1318, AF_BLUE_STRING_GURMUKHI_DIGIT_TOP = 1350, AF_BLUE_STRING_HEBREW_TOP = 1370, AF_BLUE_STRING_HEBREW_BOTTOM = 1394, AF_BLUE_STRING_HEBREW_DESCENDER = 1412, AF_BLUE_STRING_KANNADA_TOP = 1427, AF_BLUE_STRING_KANNADA_BOTTOM = 1471, AF_BLUE_STRING_KHMER_TOP = 1503, AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP = 1527, AF_BLUE_STRING_KHMER_BOTTOM = 1567, AF_BLUE_STRING_KHMER_DESCENDER = 1599, AF_BLUE_STRING_KHMER_LARGE_DESCENDER = 1633, AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP = 1720, AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM = 1728, AF_BLUE_STRING_LAO_TOP = 1736, AF_BLUE_STRING_LAO_BOTTOM = 1768, AF_BLUE_STRING_LAO_ASCENDER = 1800, AF_BLUE_STRING_LAO_LARGE_ASCENDER = 1816, AF_BLUE_STRING_LAO_DESCENDER = 1828, AF_BLUE_STRING_LATIN_CAPITAL_TOP = 1852, AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 1868, AF_BLUE_STRING_LATIN_SMALL_F_TOP = 1884, AF_BLUE_STRING_LATIN_SMALL = 1898, AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 1912, AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP = 1922, AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM = 1942, AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP = 1962, AF_BLUE_STRING_LATIN_SUBS_SMALL = 1982, AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER = 2018, AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP = 2038, AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM = 2069, AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP = 2098, AF_BLUE_STRING_LATIN_SUPS_SMALL = 2124, AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER = 2149, AF_BLUE_STRING_MALAYALAM_TOP = 2160, AF_BLUE_STRING_MALAYALAM_BOTTOM = 2204, AF_BLUE_STRING_MYANMAR_TOP = 2236, AF_BLUE_STRING_MYANMAR_BOTTOM = 2268, AF_BLUE_STRING_MYANMAR_ASCENDER = 2300, AF_BLUE_STRING_MYANMAR_DESCENDER = 2328, AF_BLUE_STRING_SINHALA_TOP = 2360, AF_BLUE_STRING_SINHALA_BOTTOM = 2392, AF_BLUE_STRING_SINHALA_DESCENDER = 2424, AF_BLUE_STRING_TAMIL_TOP = 2468, AF_BLUE_STRING_TAMIL_BOTTOM = 2500, AF_BLUE_STRING_TELUGU_TOP = 2532, AF_BLUE_STRING_TELUGU_BOTTOM = 2560, AF_BLUE_STRING_THAI_TOP = 2588, AF_BLUE_STRING_THAI_BOTTOM = 2612, AF_BLUE_STRING_THAI_ASCENDER = 2640, AF_BLUE_STRING_THAI_LARGE_ASCENDER = 2652, AF_BLUE_STRING_THAI_DESCENDER = 2664, AF_BLUE_STRING_THAI_LARGE_DESCENDER = 2680, AF_BLUE_STRING_THAI_DIGIT_TOP = 2688, af_blue_1_1 = 2699, #ifdef AF_CONFIG_OPTION_CJK AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1, AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 203, af_blue_1_1_1 = af_blue_1_1 + 404, #ifdef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT AF_BLUE_STRING_CJK_LEFT = af_blue_1_1_1 + 1, AF_BLUE_STRING_CJK_RIGHT = af_blue_1_1_1 + 204, |
︙ | ︙ |
Changes to jni/freetype/src/autofit/afhints.c.
︙ | ︙ | |||
416 417 418 419 420 421 422 | char buf1[16], buf2[16], buf3[16]; AF_DUMP(( "Table of %s segments:\n", dimension == AF_DIMENSION_HORZ ? "vertical" : "horizontal" )); if ( axis->num_segments ) | | | | < | | | 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 | char buf1[16], buf2[16], buf3[16]; AF_DUMP(( "Table of %s segments:\n", dimension == AF_DIMENSION_HORZ ? "vertical" : "horizontal" )); if ( axis->num_segments ) AF_DUMP(( " index pos delta dir from to " " link serif edge" " height extra flags\n" )); else AF_DUMP(( " (none)\n" )); for ( seg = segments; seg < limit; seg++ ) AF_DUMP(( " %5d %5d %5d %5s %4d %4d" " %4s %5s %4s" " %6d %5d %11s\n", AF_INDEX_NUM( seg, segments ), seg->pos, seg->delta, af_dir_str( (AF_Direction)seg->dir ), AF_INDEX_NUM( seg->first, points ), AF_INDEX_NUM( seg->last, points ), af_print_idx( buf1, AF_INDEX_NUM( seg->link, segments ) ), af_print_idx( buf2, AF_INDEX_NUM( seg->serif, segments ) ), af_print_idx( buf3, AF_INDEX_NUM( seg->edge, edges ) ), |
︙ | ︙ | |||
549 550 551 552 553 554 555 | char buf1[16], buf2[16]; /* * note: AF_DIMENSION_HORZ corresponds to _vertical_ edges * since they have a constant X coordinate. */ | > | | > > > > | > > > | | | | | 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 | char buf1[16], buf2[16]; /* * note: AF_DIMENSION_HORZ corresponds to _vertical_ edges * since they have a constant X coordinate. */ if ( dimension == AF_DIMENSION_HORZ ) AF_DUMP(( "Table of %s edges (1px=%.2fu, 10u=%.2fpx):\n", "vertical", 65536.0 * 64.0 / hints->x_scale, 10.0 * hints->x_scale / 65536.0 / 64.0 )); else AF_DUMP(( "Table of %s edges (1px=%.2fu, 10u=%.2fpx):\n", "horizontal", 65536.0 * 64.0 / hints->y_scale, 10.0 * hints->y_scale / 65536.0 / 64.0 )); if ( axis->num_edges ) AF_DUMP(( " index pos dir link serif" " blue opos pos flags\n" )); else AF_DUMP(( " (none)\n" )); for ( edge = edges; edge < limit; edge++ ) AF_DUMP(( " %5d %7.2f %5s %4s %5s" " %c %7.2f %7.2f %11s\n", AF_INDEX_NUM( edge, edges ), (int)edge->opos / 64.0, af_dir_str( (AF_Direction)edge->dir ), af_print_idx( buf1, AF_INDEX_NUM( edge->link, edges ) ), af_print_idx( buf2, AF_INDEX_NUM( edge->serif, edges ) ), edge->blue_edge ? 'y' : 'n', |
︙ | ︙ |
Changes to jni/freetype/src/autofit/afhints.h.
︙ | ︙ | |||
256 257 258 259 260 261 262 263 264 265 266 267 268 269 | typedef struct AF_SegmentRec_ { FT_Byte flags; /* edge/segment flags for this segment */ FT_Char dir; /* segment direction */ FT_Short pos; /* position of segment */ FT_Short min_coord; /* minimum coordinate of segment */ FT_Short max_coord; /* maximum coordinate of segment */ FT_Short height; /* the hinted segment height */ AF_Edge edge; /* the segment's parent edge */ AF_Segment edge_next; /* link to next segment in parent edge */ | > | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | typedef struct AF_SegmentRec_ { FT_Byte flags; /* edge/segment flags for this segment */ FT_Char dir; /* segment direction */ FT_Short pos; /* position of segment */ FT_Short delta; /* deviation from segment position */ FT_Short min_coord; /* minimum coordinate of segment */ FT_Short max_coord; /* maximum coordinate of segment */ FT_Short height; /* the hinted segment height */ AF_Edge edge; /* the segment's parent edge */ AF_Segment edge_next; /* link to next segment in parent edge */ |
︙ | ︙ |
Changes to jni/freetype/src/autofit/aflatin.c.
︙ | ︙ | |||
1072 1073 1074 1075 1076 1077 1078 | FT_Pos scaled; FT_Pos threshold; FT_Pos fitted; FT_UInt limit; FT_UInt ppem; | | | 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 | FT_Pos scaled; FT_Pos threshold; FT_Pos fitted; FT_UInt limit; FT_UInt ppem; scaled = FT_MulFix( blue->shoot.org, scale ); ppem = metrics->root.scaler.face->size->metrics.x_ppem; limit = metrics->root.globals->increase_x_height; threshold = 40; /* if the `increase-x-height' property is active, */ /* we round up much more often */ if ( limit && |
︙ | ︙ | |||
1119 1120 1121 1122 1123 1124 1125 | } dist = FT_ABS( FT_MulFix( max_height, new_scale - scale ) ); dist &= ~127; if ( dist == 0 ) { | < < | | > > | 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 | } dist = FT_ABS( FT_MulFix( max_height, new_scale - scale ) ); dist &= ~127; if ( dist == 0 ) { FT_TRACE5(( "af_latin_metrics_scale_dim:" " x height alignment (style `%s'):\n" " " " vertical scaling changed from %.4f to %.4f (by %d%%)\n" "\n", af_style_names[metrics->root.style_class->style], scale / 65536.0, new_scale / 65536.0, ( fitted - scaled ) * 100 / scaled )); scale = new_scale; } #ifdef FT_DEBUG_LEVEL_TRACE else { FT_TRACE5(( "af_latin_metrics_scale_dim:" " x height alignment (style `%s'):\n" |
︙ | ︙ | |||
1532 1533 1534 1535 1536 1537 1538 | /* happen for spikes */ if ( !prev_segment || segment->first != prev_segment->last ) { /* points are different: we are just leaving an edge, thus */ /* record a new segment */ | | | > | 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 | /* happen for spikes */ if ( !prev_segment || segment->first != prev_segment->last ) { /* points are different: we are just leaving an edge, thus */ /* record a new segment */ segment->last = point; segment->pos = (FT_Short)( ( min_pos + max_pos ) >> 1 ); segment->delta = (FT_Short)( ( max_pos - min_pos ) >> 1 ); /* a segment is round if either its first or last point */ /* is a control point, and the length of the on points */ /* inbetween doesn't exceed a heuristic limit */ if ( ( min_flags | max_flags ) & AF_FLAG_CONTROL && ( max_on_coord - min_on_coord ) < flat_threshold ) segment->flags |= AF_EDGE_ROUND; |
︙ | ︙ | |||
1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 | #if 0 AF_Direction up_dir; #endif FT_Fixed scale; FT_Pos edge_distance_threshold; FT_Pos segment_length_threshold; axis->num_edges = 0; scale = ( dim == AF_DIMENSION_HORZ ) ? hints->x_scale : hints->y_scale; | > | 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 | #if 0 AF_Direction up_dir; #endif FT_Fixed scale; FT_Pos edge_distance_threshold; FT_Pos segment_length_threshold; FT_Pos segment_width_threshold; axis->num_edges = 0; scale = ( dim == AF_DIMENSION_HORZ ) ? hints->x_scale : hints->y_scale; |
︙ | ︙ | |||
1983 1984 1985 1986 1987 1988 1989 | /* * We ignore all segments that are less than 1 pixel in length * to avoid many problems with serif fonts. We compute the * corresponding threshold in font units. */ if ( dim == AF_DIMENSION_HORZ ) | | | > > > > > > | 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 | /* * We ignore all segments that are less than 1 pixel in length * to avoid many problems with serif fonts. We compute the * corresponding threshold in font units. */ if ( dim == AF_DIMENSION_HORZ ) segment_length_threshold = FT_DivFix( 64, hints->y_scale ); else segment_length_threshold = 0; /* * Similarly, we ignore segments that have a width delta * larger than 0.5px (i.e., a width larger than 1px). */ segment_width_threshold = FT_DivFix( 32, scale ); /*********************************************************************/ /* */ /* We begin by generating a sorted table of edges for the current */ /* direction. To do so, we simply scan each segment and try to find */ /* an edge in our table that corresponds to its position. */ /* */ |
︙ | ︙ | |||
2018 2019 2020 2021 2022 2023 2024 | for ( seg = segments; seg < segment_limit; seg++ ) { AF_Edge found = NULL; FT_Int ee; | | | > | 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 | for ( seg = segments; seg < segment_limit; seg++ ) { AF_Edge found = NULL; FT_Int ee; /* ignore too short segments, too wide ones, and, in this loop, */ /* one-point segments without a direction */ if ( seg->height < segment_length_threshold || seg->delta > segment_width_threshold || seg->dir == AF_DIR_NONE ) continue; /* A special case for serif edges: If they are smaller than */ /* 1.5 pixels we ignore them. */ if ( seg->serif && 2 * seg->height < 3 * segment_length_threshold ) |
︙ | ︙ |
Changes to jni/freetype/src/autofit/afmodule.c.
︙ | ︙ | |||
103 104 105 106 107 108 109 | return error; } static FT_Error af_property_set( FT_Module ft_module, const char* property_name, | | > > > > > | > | > > > > > | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | return error; } static FT_Error af_property_set( FT_Module ft_module, const char* property_name, const void* value, FT_Bool value_is_string ) { FT_Error error = FT_Err_Ok; AF_Module module = (AF_Module)ft_module; #ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES FT_UNUSED( value_is_string ); #endif if ( !ft_strcmp( property_name, "fallback-script" ) ) { FT_UInt* fallback_script; FT_UInt ss; #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES if ( value_is_string ) return FT_THROW( Invalid_Argument ); #endif fallback_script = (FT_UInt*)value; /* We translate the fallback script to a fallback style that uses */ /* `fallback-script' as its script and `AF_COVERAGE_NONE' as its */ /* coverage value. */ for ( ss = 0; AF_STYLE_CLASSES_GET[ss]; ss++ ) { AF_StyleClass style_class = AF_STYLE_CLASSES_GET[ss]; |
︙ | ︙ | |||
143 144 145 146 147 148 149 | return FT_THROW( Invalid_Argument ); } return error; } else if ( !ft_strcmp( property_name, "default-script" ) ) { | | > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > | | > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | | | | < > > > > > > > > > > > > > > > > > | | > | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 | return FT_THROW( Invalid_Argument ); } return error; } else if ( !ft_strcmp( property_name, "default-script" ) ) { FT_UInt* default_script; #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES if ( value_is_string ) return FT_THROW( Invalid_Argument ); #endif default_script = (FT_UInt*)value; module->default_script = *default_script; return error; } else if ( !ft_strcmp( property_name, "increase-x-height" ) ) { FT_Prop_IncreaseXHeight* prop; AF_FaceGlobals globals; #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES if ( value_is_string ) return FT_THROW( Invalid_Argument ); #endif prop = (FT_Prop_IncreaseXHeight*)value; error = af_property_get_face_globals( prop->face, &globals, module ); if ( !error ) globals->increase_x_height = prop->limit; return error; } #ifdef AF_CONFIG_OPTION_USE_WARPER else if ( !ft_strcmp( property_name, "warping" ) ) { #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES if ( value_is_string ) { const char* s = (const char*)value; long w = ft_strtol( s, NULL, 10 ); if ( w == 0 ) module->warping = 0; else if ( w == 1 ) module->warping = 1; else return FT_THROW( Invalid_Argument ); } else #endif { FT_Bool* warping = (FT_Bool*)value; module->warping = *warping; } return error; } #endif /* AF_CONFIG_OPTION_USE_WARPER */ else if ( !ft_strcmp( property_name, "darkening-parameters" ) ) { FT_Int* darken_params; FT_Int x1, y1, x2, y2, x3, y3, x4, y4; #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES FT_Int dp[8]; if ( value_is_string ) { const char* s = (const char*)value; char* ep; int i; /* eight comma-separated numbers */ for ( i = 0; i < 7; i++ ) { dp[i] = (FT_Int)ft_strtol( s, &ep, 10 ); if ( *ep != ',' || s == ep ) return FT_THROW( Invalid_Argument ); s = ep + 1; } dp[7] = (FT_Int)ft_strtol( s, &ep, 10 ); if ( !( *ep == '\0' || *ep == ' ' ) || s == ep ) return FT_THROW( Invalid_Argument ); darken_params = dp; } else #endif darken_params = (FT_Int*)value; x1 = darken_params[0]; y1 = darken_params[1]; x2 = darken_params[2]; y2 = darken_params[3]; x3 = darken_params[4]; y3 = darken_params[5]; x4 = darken_params[6]; y4 = darken_params[7]; if ( x1 < 0 || x2 < 0 || x3 < 0 || x4 < 0 || y1 < 0 || y2 < 0 || y3 < 0 || y4 < 0 || x1 > x2 || x2 > x3 || x3 > x4 || y1 > 500 || y2 > 500 || y3 > 500 || y4 > 500 ) return FT_THROW( Invalid_Argument ); module->darken_params[0] = x1; module->darken_params[1] = y1; module->darken_params[2] = x2; module->darken_params[3] = y2; module->darken_params[4] = x3; module->darken_params[5] = y3; module->darken_params[6] = x4; module->darken_params[7] = y4; return error; } else if ( !ft_strcmp( property_name, "no-stem-darkening" ) ) { #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES if ( value_is_string ) { const char* s = (const char*)value; long nsd = ft_strtol( s, NULL, 10 ); if ( nsd == 0 ) module->no_stem_darkening = 0; else if ( nsd == 1 ) module->no_stem_darkening = 1; else return FT_THROW( Invalid_Argument ); } else #endif { FT_Bool* no_stem_darkening = (FT_Bool*)value; module->no_stem_darkening = *no_stem_darkening; } return error; } FT_TRACE0(( "af_property_set: missing property `%s'\n", property_name )); return FT_THROW( Missing_Property ); |
︙ | ︙ |
Changes to jni/freetype/src/autofit/afscript.h.
︙ | ︙ | |||
36 37 38 39 40 41 42 | HINTING_BOTTOM_TO_TOP, "\xD9\x84 \xD8\xAD \xD9\x80" ) /* ل ح ـ */ SCRIPT( armn, ARMN, "Armenian", HB_SCRIPT_ARMENIAN, HINTING_BOTTOM_TO_TOP, | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | HINTING_BOTTOM_TO_TOP, "\xD9\x84 \xD8\xAD \xD9\x80" ) /* ل ح ـ */ SCRIPT( armn, ARMN, "Armenian", HB_SCRIPT_ARMENIAN, HINTING_BOTTOM_TO_TOP, "\xD5\xBD \xD5\x8D" ) /* ս Ս */ /* there are no simple forms for letters; we thus use two digit shapes */ SCRIPT( beng, BENG, "Bengali", HB_SCRIPT_BENGALI, HINTING_TOP_TO_BOTTOM, "\xE0\xA7\xA6 \xE0\xA7\xAA" ) /* ০ ৪ */ |
︙ | ︙ |
Changes to jni/freetype/src/base/ftdbgmem.c.
︙ | ︙ | |||
838 839 840 841 842 843 844 | memory->alloc = ft_mem_debug_alloc; memory->realloc = ft_mem_debug_realloc; memory->free = ft_mem_debug_free; p = getenv( "FT2_ALLOC_TOTAL_MAX" ); if ( p != NULL ) { | | | | | 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 | memory->alloc = ft_mem_debug_alloc; memory->realloc = ft_mem_debug_realloc; memory->free = ft_mem_debug_free; p = getenv( "FT2_ALLOC_TOTAL_MAX" ); if ( p != NULL ) { FT_Long total_max = ft_strtol( p, NULL, 10 ); if ( total_max > 0 ) { table->bound_total = 1; table->alloc_total_max = total_max; } } p = getenv( "FT2_ALLOC_COUNT_MAX" ); if ( p != NULL ) { FT_Long total_count = ft_strtol( p, NULL, 10 ); if ( total_count > 0 ) { table->bound_count = 1; table->alloc_count_max = total_count; } } p = getenv( "FT2_KEEP_ALIVE" ); if ( p != NULL ) { FT_Long keep_alive = ft_strtol( p, NULL, 10 ); if ( keep_alive > 0 ) table->keep_alive = 1; } result = 1; |
︙ | ︙ |
Changes to jni/freetype/src/base/ftinit.c.
︙ | ︙ | |||
221 222 223 224 225 226 227 228 229 230 231 232 233 234 | FT_TRACE0(( "FT_Add_Default_Module:" " Cannot install `%s', error = 0x%x\n", (*cur)->module_name, error )); cur++; } } /* documentation is in freetype.h */ FT_EXPORT_DEF( FT_Error ) FT_Init_FreeType( FT_Library *alibrary ) { FT_Error error; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 | FT_TRACE0(( "FT_Add_Default_Module:" " Cannot install `%s', error = 0x%x\n", (*cur)->module_name, error )); cur++; } } #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES #define MAX_LENGTH 128 /* * Set default properties derived from the `FREETYPE_PROPERTIES' * environment variable. * * `FREETYPE_PROPERTIES' has the following syntax form (broken here into * multiple lines for better readability) * * <optional whitespace> * <module-name1> ':' * <property-name1> '=' <property-value1> * <whitespace> * <module-name2> ':' * <property-name2> '=' <property-value2> * ... * * Example: * * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ * cff:no-stem-darkening=1 \ * autofitter:warping=1 * */ static void ft_set_default_properties( FT_Library library ) { const char* env; const char* p; const char* q; char module_name[MAX_LENGTH + 1]; char property_name[MAX_LENGTH + 1]; char property_value[MAX_LENGTH + 1]; int i; env = ft_getenv( "FREETYPE_PROPERTIES" ); if ( !env ) return; for ( p = env; *p; p++ ) { /* skip leading whitespace and separators */ if ( *p == ' ' || *p == '\t' ) continue; /* read module name, followed by `:' */ q = p; for ( i = 0; i < MAX_LENGTH; i++ ) { if ( !*p || *p == ':' ) break; module_name[i] = *p++; } module_name[i] = '\0'; if ( !*p || *p != ':' || p == q ) break; /* read property name, followed by `=' */ q = ++p; for ( i = 0; i < MAX_LENGTH; i++ ) { if ( !*p || *p == '=' ) break; property_name[i] = *p++; } property_name[i] = '\0'; if ( !*p || *p != '=' || p == q ) break; /* read property value, followed by whitespace (if any) */ q = ++p; for ( i = 0; i < MAX_LENGTH; i++ ) { if ( !*p || *p == ' ' || *p == '\t' ) break; property_value[i] = *p++; } property_value[i] = '\0'; if ( !( *p == '\0' || *p == ' ' || *p == '\t' ) || p == q ) break; /* we completely ignore errors */ ft_property_string_set( library, module_name, property_name, property_value ); } } #else static void ft_set_default_properties( FT_Library library ) { FT_UNUSED( library ); } #endif /* documentation is in freetype.h */ FT_EXPORT_DEF( FT_Error ) FT_Init_FreeType( FT_Library *alibrary ) { FT_Error error; |
︙ | ︙ | |||
251 252 253 254 255 256 257 258 259 260 261 262 263 264 | /* default drivers. */ error = FT_New_Library( memory, alibrary ); if ( error ) FT_Done_Memory( memory ); else FT_Add_Default_Modules( *alibrary ); return error; } /* documentation is in freetype.h */ | > > | 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | /* default drivers. */ error = FT_New_Library( memory, alibrary ); if ( error ) FT_Done_Memory( memory ); else FT_Add_Default_Modules( *alibrary ); ft_set_default_properties( *alibrary ); return error; } /* documentation is in freetype.h */ |
︙ | ︙ |
Changes to jni/freetype/src/base/ftmac.c.
︙ | ︙ | |||
15 16 17 18 19 20 21 | /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ | < | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ /* Notes Mac suitcase files can (and often do!) contain multiple fonts. To support this I use the face_index argument of FT_(Open|New)_Face() functions, and pretend the suitcase file is a collection. |
︙ | ︙ | |||
1073 1074 1075 1076 1077 1078 1079 | else return FT_New_Face_From_FSRef( library, &ref, face_index, aface ); #endif } #endif /* FT_MACINTOSH */ | < | 1072 1073 1074 1075 1076 1077 1078 1079 1080 | else return FT_New_Face_From_FSRef( library, &ref, face_index, aface ); #endif } #endif /* FT_MACINTOSH */ /* END */ |
Changes to jni/freetype/src/base/ftobjs.c.
︙ | ︙ | |||
2310 2311 2312 2313 2314 2315 2316 | for ( i = 0; i < face->num_fixed_sizes; i++ ) { FT_Bitmap_Size* bsize = face->available_sizes + i; if ( bsize->height < 0 ) | | | > > > > > > > > > > > > > | 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 | for ( i = 0; i < face->num_fixed_sizes; i++ ) { FT_Bitmap_Size* bsize = face->available_sizes + i; if ( bsize->height < 0 ) bsize->height = -bsize->height; if ( bsize->x_ppem < 0 ) bsize->x_ppem = -bsize->x_ppem; if ( bsize->y_ppem < 0 ) bsize->y_ppem = -bsize->y_ppem; /* check whether negation actually has worked */ if ( bsize->height < 0 || bsize->x_ppem < 0 || bsize->y_ppem < 0 ) { FT_TRACE0(( "FT_Open_Face:" " Invalid bitmap dimensions for stroke %d," " now disabled\n", i )); bsize->width = 0; bsize->height = 0; bsize->size = 0; bsize->x_ppem = 0; bsize->y_ppem = 0; } } } /* initialize internal face data */ { FT_Face_Internal internal = face->internal; |
︙ | ︙ | |||
4560 4561 4562 4563 4564 4565 4566 | static FT_Error ft_property_do( FT_Library library, const FT_String* module_name, const FT_String* property_name, void* value, | | > | 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 | static FT_Error ft_property_do( FT_Library library, const FT_String* module_name, const FT_String* property_name, void* value, FT_Bool set, FT_Bool value_is_string ) { FT_Module* cur; FT_Module* limit; FT_Module_Interface interface; FT_Service_Properties service; |
︙ | ︙ | |||
4630 4631 4632 4633 4634 4635 4636 | if ( missing_func ) { FT_ERROR(( "%s: property service of module `%s' is broken\n", func_name, module_name )); return FT_THROW( Unimplemented_Feature ); } | | > > > | > > | > > > > > > > > > > > > > > > > > > > > > > > > | 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 | if ( missing_func ) { FT_ERROR(( "%s: property service of module `%s' is broken\n", func_name, module_name )); return FT_THROW( Unimplemented_Feature ); } return set ? service->set_property( cur[0], property_name, value, value_is_string ) : service->get_property( cur[0], property_name, value ); } /* documentation is in ftmodapi.h */ FT_EXPORT_DEF( FT_Error ) FT_Property_Set( FT_Library library, const FT_String* module_name, const FT_String* property_name, const void* value ) { return ft_property_do( library, module_name, property_name, (void*)value, TRUE, FALSE ); } /* documentation is in ftmodapi.h */ FT_EXPORT_DEF( FT_Error ) FT_Property_Get( FT_Library library, const FT_String* module_name, const FT_String* property_name, void* value ) { return ft_property_do( library, module_name, property_name, value, FALSE, FALSE ); } #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES /* this variant is used for handling the FREETYPE_PROPERTIES */ /* environment variable */ FT_BASE_DEF( FT_Error ) ft_property_string_set( FT_Library library, const FT_String* module_name, const FT_String* property_name, FT_String* value ) { return ft_property_do( library, module_name, property_name, (void*)value, TRUE, TRUE ); } #endif /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /**** ****/ /**** ****/ /**** L I B R A R Y ****/ |
︙ | ︙ |
Changes to jni/freetype/src/cff/cf2intrp.c.
︙ | ︙ | |||
464 465 466 467 468 469 470 471 472 473 474 475 476 477 | /* objects used for hinting */ CF2_ArrStackRec hStemHintArray; CF2_ArrStackRec vStemHintArray; CF2_HintMaskRec hintMask; CF2_GlyphPathRec glyphPath; /* initialize the remaining objects */ cf2_arrstack_init( &subrStack, memory, error, sizeof ( CF2_BufferRec ) ); cf2_arrstack_init( &hStemHintArray, | > > | 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 | /* objects used for hinting */ CF2_ArrStackRec hStemHintArray; CF2_ArrStackRec vStemHintArray; CF2_HintMaskRec hintMask; CF2_GlyphPathRec glyphPath; FT_ZERO( &storage ); /* initialize the remaining objects */ cf2_arrstack_init( &subrStack, memory, error, sizeof ( CF2_BufferRec ) ); cf2_arrstack_init( &hStemHintArray, |
︙ | ︙ |
Changes to jni/freetype/src/cff/cf2stack.c.
︙ | ︙ | |||
49 50 51 52 53 54 55 | /* Allocate and initialize an instance of CF2_Stack. */ /* Note: This function returns NULL on error (does not set */ /* `error'). */ FT_LOCAL_DEF( CF2_Stack ) cf2_stack_init( FT_Memory memory, FT_Error* e ) { | | | | | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | /* Allocate and initialize an instance of CF2_Stack. */ /* Note: This function returns NULL on error (does not set */ /* `error'). */ FT_LOCAL_DEF( CF2_Stack ) cf2_stack_init( FT_Memory memory, FT_Error* e ) { FT_Error error = FT_Err_Ok; /* for FT_NEW */ CF2_Stack stack = NULL; if ( !FT_NEW( stack ) ) { /* initialize the structure; FT_NEW zeroes it */ stack->memory = memory; stack->error = e; stack->top = &stack->buffer[0]; /* empty stack */ } return stack; } |
︙ | ︙ |
Changes to jni/freetype/src/cff/cffdrivr.c.
︙ | ︙ | |||
655 656 657 658 659 660 661 | /* * PROPERTY SERVICE * */ static FT_Error cff_property_set( FT_Module module, /* CFF_Driver */ const char* property_name, | | > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | | | | < > > > > > > > | > > > > > > | > > | > > | | | | | | | > > > > > > > > > > > > > > > > > > | | > | 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 | /* * PROPERTY SERVICE * */ static FT_Error cff_property_set( FT_Module module, /* CFF_Driver */ const char* property_name, const void* value, FT_Bool value_is_string ) { FT_Error error = FT_Err_Ok; CFF_Driver driver = (CFF_Driver)module; #ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES FT_UNUSED( value_is_string ); #endif if ( !ft_strcmp( property_name, "darkening-parameters" ) ) { FT_Int* darken_params; FT_Int x1, y1, x2, y2, x3, y3, x4, y4; #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES FT_Int dp[8]; if ( value_is_string ) { const char* s = (const char*)value; char* ep; int i; /* eight comma-separated numbers */ for ( i = 0; i < 7; i++ ) { dp[i] = (FT_Int)ft_strtol( s, &ep, 10 ); if ( *ep != ',' || s == ep ) return FT_THROW( Invalid_Argument ); s = ep + 1; } dp[7] = (FT_Int)ft_strtol( s, &ep, 10 ); if ( !( *ep == '\0' || *ep == ' ' ) || s == ep ) return FT_THROW( Invalid_Argument ); darken_params = dp; } else #endif darken_params = (FT_Int*)value; x1 = darken_params[0]; y1 = darken_params[1]; x2 = darken_params[2]; y2 = darken_params[3]; x3 = darken_params[4]; y3 = darken_params[5]; x4 = darken_params[6]; y4 = darken_params[7]; if ( x1 < 0 || x2 < 0 || x3 < 0 || x4 < 0 || y1 < 0 || y2 < 0 || y3 < 0 || y4 < 0 || x1 > x2 || x2 > x3 || x3 > x4 || y1 > 500 || y2 > 500 || y3 > 500 || y4 > 500 ) return FT_THROW( Invalid_Argument ); driver->darken_params[0] = x1; driver->darken_params[1] = y1; driver->darken_params[2] = x2; driver->darken_params[3] = y2; driver->darken_params[4] = x3; driver->darken_params[5] = y3; driver->darken_params[6] = x4; driver->darken_params[7] = y4; return error; } else if ( !ft_strcmp( property_name, "hinting-engine" ) ) { #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES if ( value_is_string ) { const char* s = (const char*)value; if ( !ft_strcmp( s, "adobe" ) ) driver->hinting_engine = FT_CFF_HINTING_ADOBE; #ifdef CFF_CONFIG_OPTION_OLD_ENGINE else if ( !ft_strcmp( s, "freetype" ) ) driver->hinting_engine = FT_CFF_HINTING_FREETYPE; #endif else return FT_THROW( Invalid_Argument ); } else #endif { FT_UInt* hinting_engine = (FT_UInt*)value; if ( *hinting_engine == FT_CFF_HINTING_ADOBE #ifdef CFF_CONFIG_OPTION_OLD_ENGINE || *hinting_engine == FT_CFF_HINTING_FREETYPE #endif ) driver->hinting_engine = *hinting_engine; else error = FT_ERR( Unimplemented_Feature ); return error; } } else if ( !ft_strcmp( property_name, "no-stem-darkening" ) ) { #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES if ( value_is_string ) { const char* s = (const char*)value; long nsd = ft_strtol( s, NULL, 10 ); if ( nsd == 0 ) driver->no_stem_darkening = 0; else if ( nsd == 1 ) driver->no_stem_darkening = 1; else return FT_THROW( Invalid_Argument ); } else #endif { FT_Bool* no_stem_darkening = (FT_Bool*)value; driver->no_stem_darkening = *no_stem_darkening; } return error; } FT_TRACE0(( "cff_property_set: missing property `%s'\n", property_name )); return FT_THROW( Missing_Property ); |
︙ | ︙ |
Changes to jni/freetype/src/cff/cffgload.c.
︙ | ︙ | |||
2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 | FT_Byte* charstring; FT_ULong charstring_len; cff_decoder_init( &decoder, face, size, glyph, hinting, FT_LOAD_TARGET_MODE( load_flags ) ); if ( load_flags & FT_LOAD_ADVANCE_ONLY ) decoder.width_only = TRUE; decoder.builder.no_recurse = (FT_Bool)( load_flags & FT_LOAD_NO_RECURSE ); /* now load the unscaled outline */ | > | 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 | FT_Byte* charstring; FT_ULong charstring_len; cff_decoder_init( &decoder, face, size, glyph, hinting, FT_LOAD_TARGET_MODE( load_flags ) ); /* this is for pure CFFs */ if ( load_flags & FT_LOAD_ADVANCE_ONLY ) decoder.width_only = TRUE; decoder.builder.no_recurse = (FT_Bool)( load_flags & FT_LOAD_NO_RECURSE ); /* now load the unscaled outline */ |
︙ | ︙ |
Changes to jni/freetype/src/cff/cffload.c.
︙ | ︙ | |||
598 599 600 601 602 603 604 | error = cff_index_access_element( idx, element, &bytes, &byte_len ); if ( error ) goto Exit; if ( !FT_ALLOC( name, byte_len + 1 ) ) { | > | | 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 | error = cff_index_access_element( idx, element, &bytes, &byte_len ); if ( error ) goto Exit; if ( !FT_ALLOC( name, byte_len + 1 ) ) { if ( byte_len ) FT_MEM_COPY( name, bytes, byte_len ); name[byte_len] = 0; } cff_index_forget_element( idx, &bytes ); Exit: return name; } |
︙ | ︙ |
Changes to jni/freetype/src/cid/cidload.c.
︙ | ︙ | |||
773 774 775 776 777 778 779 | entry_len = (FT_ULong)( cid->fd_bytes + cid->gd_bytes ); for ( n = 0; n < cid->num_dicts; n++ ) { CID_FaceDict dict = cid->font_dicts + n; | | > | 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 | entry_len = (FT_ULong)( cid->fd_bytes + cid->gd_bytes ); for ( n = 0; n < cid->num_dicts; n++ ) { CID_FaceDict dict = cid->font_dicts + n; if ( dict->sd_bytes < 0 || ( dict->num_subrs && dict->sd_bytes < 1 ) ) { FT_ERROR(( "cid_parse_dict: Invalid `SDBytes' value\n" )); error = FT_THROW( Invalid_File_Format ); goto Exit; } if ( dict->sd_bytes > 4 ) |
︙ | ︙ |
Changes to jni/freetype/src/cid/cidparse.c.
︙ | ︙ | |||
195 196 197 198 199 200 201 | arg2 = parser->root.cursor; cid_parser_skip_PS_token( parser ); cid_parser_skip_spaces ( parser ); limit = parser->root.limit; cur = parser->root.cursor; | | | | | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | arg2 = parser->root.cursor; cid_parser_skip_PS_token( parser ); cid_parser_skip_spaces ( parser ); limit = parser->root.limit; cur = parser->root.cursor; while ( cur <= limit - SFNTS_LEN ) { if ( parser->root.error ) { error = parser->root.error; goto Exit; } if ( cur[0] == 'S' && cur <= limit - STARTDATA_LEN && ft_strncmp( (char*)cur, STARTDATA, STARTDATA_LEN ) == 0 ) { if ( ft_strncmp( (char*)arg1, "(Hex)", 5 ) == 0 ) { FT_Long tmp = ft_strtol( (const char *)arg2, NULL, 10 ); if ( tmp < 0 ) { FT_ERROR(( "cid_parser_new: invalid length of hex data\n" )); error = FT_THROW( Invalid_File_Format ); } |
︙ | ︙ |
Changes to jni/freetype/src/gxvalid/gxvfgen.c.
︙ | ︙ | |||
38 39 40 41 42 43 44 | /***************************************************************************/ /* */ /* Development of gxfeatreg.c is supported by */ /* Information-technology Promotion Agency, Japan. */ /* */ /***************************************************************************/ | < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /***************************************************************************/ /* */ /* Development of gxfeatreg.c is supported by */ /* Information-technology Promotion Agency, Japan. */ /* */ /***************************************************************************/ /***************************************************************************/ /* */ /* This file is compiled as a stand-alone executable. */ /* This file is never compiled into `libfreetype2'. */ /* The output of this file is used in `gxvfeat.c'. */ /* ----------------------------------------------------------------------- */ |
︙ | ︙ | |||
476 477 478 479 480 481 482 | } printf( " };\n" ); return 0; } | < | 475 476 477 478 479 480 481 482 483 | } printf( " };\n" ); return 0; } /* END */ |
Changes to jni/freetype/src/lzw/ftzopen.c.
︙ | ︙ | |||
38 39 40 41 42 43 44 | state->buf_tab, state->num_bits ); /* WHY? */ state->buf_size = (FT_UInt)count; state->buf_total += count; state->in_eof = FT_BOOL( count < state->num_bits ); state->buf_offset = 0; | > | > > > > | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | state->buf_tab, state->num_bits ); /* WHY? */ state->buf_size = (FT_UInt)count; state->buf_total += count; state->in_eof = FT_BOOL( count < state->num_bits ); state->buf_offset = 0; state->buf_size <<= 3; if ( state->buf_size > state->num_bits ) state->buf_size -= state->num_bits - 1; else return -1; /* not enough data */ if ( count == 0 ) /* end of file */ return -1; return 0; } |
︙ | ︙ | |||
62 63 64 65 66 67 68 | if ( state->buf_clear || offset >= state->buf_size || state->free_ent >= state->free_bits ) { if ( state->free_ent >= state->free_bits ) { | | > > > | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | if ( state->buf_clear || offset >= state->buf_size || state->free_ent >= state->free_bits ) { if ( state->free_ent >= state->free_bits ) { state->num_bits = ++num_bits; if ( num_bits > LZW_MAX_BITS ) return -1; state->free_bits = state->num_bits < state->max_bits ? (FT_UInt)( ( 1UL << num_bits ) - 256 ) : state->max_free + 1; } if ( state->buf_clear ) { |
︙ | ︙ |
Changes to jni/freetype/src/sfnt/sfdriver.c.
︙ | ︙ | |||
455 456 457 458 459 460 461 | #define PUT_PS_NAMES( a ) a #else #define PUT_PS_NAMES( a ) NULL #endif FT_DEFINE_SFNT_INTERFACE( sfnt_interface, | | | | | | | | | | | | | | | | | | | > > > | | | > > > > | | | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 | #define PUT_PS_NAMES( a ) a #else #define PUT_PS_NAMES( a ) NULL #endif FT_DEFINE_SFNT_INTERFACE( sfnt_interface, tt_face_goto_table, /* TT_Loader_GotoTableFunc goto_table */ sfnt_init_face, /* TT_Init_Face_Func init_face */ sfnt_load_face, /* TT_Load_Face_Func load_face */ sfnt_done_face, /* TT_Done_Face_Func done_face */ sfnt_get_interface, /* FT_Module_Requester get_interface */ tt_face_load_any, /* TT_Load_Any_Func load_any */ tt_face_load_head, /* TT_Load_Table_Func load_head */ tt_face_load_hhea, /* TT_Load_Metrics_Func load_hhea */ tt_face_load_cmap, /* TT_Load_Table_Func load_cmap */ tt_face_load_maxp, /* TT_Load_Table_Func load_maxp */ tt_face_load_os2, /* TT_Load_Table_Func load_os2 */ tt_face_load_post, /* TT_Load_Table_Func load_post */ tt_face_load_name, /* TT_Load_Table_Func load_name */ tt_face_free_name, /* TT_Free_Table_Func free_name */ tt_face_load_kern, /* TT_Load_Table_Func load_kern */ tt_face_load_gasp, /* TT_Load_Table_Func load_gasp */ tt_face_load_pclt, /* TT_Load_Table_Func load_init */ /* see `ttload.h' */ PUT_EMBEDDED_BITMAPS( tt_face_load_bhed ), /* TT_Load_Table_Func load_bhed */ PUT_EMBEDDED_BITMAPS( tt_face_load_sbit_image ), /* TT_Load_SBit_Image_Func load_sbit_image */ /* see `ttpost.h' */ PUT_PS_NAMES( tt_face_get_ps_name ), /* TT_Get_PS_Name_Func get_psname */ PUT_PS_NAMES( tt_face_free_ps_names ), /* TT_Free_Table_Func free_psnames */ /* since version 2.1.8 */ tt_face_get_kerning, /* TT_Face_GetKerningFunc get_kerning */ /* since version 2.2 */ tt_face_load_font_dir, /* TT_Load_Table_Func load_font_dir */ tt_face_load_hmtx, /* TT_Load_Metrics_Func load_hmtx */ /* see `ttsbit.h' and `sfnt.h' */ PUT_EMBEDDED_BITMAPS( tt_face_load_sbit ), /* TT_Load_Table_Func load_eblc */ PUT_EMBEDDED_BITMAPS( tt_face_free_sbit ), /* TT_Free_Table_Func free_eblc */ PUT_EMBEDDED_BITMAPS( tt_face_set_sbit_strike ), /* TT_Set_SBit_Strike_Func set_sbit_strike */ PUT_EMBEDDED_BITMAPS( tt_face_load_strike_metrics ), /* TT_Load_Strike_Metrics_Func load_strike_metrics */ tt_face_get_metrics, /* TT_Get_Metrics_Func get_metrics */ tt_face_get_name /* TT_Get_Name_Func get_name */ ) FT_DEFINE_MODULE( sfnt_module_class, 0, /* not a font driver or renderer */ |
︙ | ︙ |
Changes to jni/freetype/src/sfnt/sfobjs.c.
︙ | ︙ | |||
973 974 975 976 977 978 979 | } face->root.style_flags = (FT_Long)num_instances << 16; } #endif face->root.num_faces = face->ttc_header.count; | | | 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 | } face->root.style_flags = (FT_Long)num_instances << 16; } #endif face->root.num_faces = face->ttc_header.count; face->root.face_index = face_instance_index; return error; } #define LOAD_( x ) \ do \ |
︙ | ︙ |
Changes to jni/freetype/src/sfnt/ttcmap.c.
︙ | ︙ | |||
759 760 761 762 763 764 765 766 767 768 769 770 771 772 | /* search the index of the charcode next to cmap->cur_charcode; */ /* caller should call tt_cmap4_set_range with proper range */ /* before calling this function */ /* */ static void tt_cmap4_next( TT_CMap4 cmap ) { FT_UInt charcode; if ( cmap->cur_charcode >= 0xFFFFUL ) goto Fail; charcode = (FT_UInt)cmap->cur_charcode + 1; | > > > | 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 | /* search the index of the charcode next to cmap->cur_charcode; */ /* caller should call tt_cmap4_set_range with proper range */ /* before calling this function */ /* */ static void tt_cmap4_next( TT_CMap4 cmap ) { TT_Face face = (TT_Face)cmap->cmap.cmap.charmap.face; FT_Byte* limit = face->cmap_table + face->cmap_size; FT_UInt charcode; if ( cmap->cur_charcode >= 0xFFFFUL ) goto Fail; charcode = (FT_UInt)cmap->cur_charcode + 1; |
︙ | ︙ | |||
784 785 786 787 788 789 790 791 792 793 794 795 | if ( charcode <= end ) { if ( values ) { FT_Byte* p = values + 2 * ( charcode - cmap->cur_start ); do { FT_UInt gindex = FT_NEXT_USHORT( p ); | > > > > | | > > > > > > > > > > > > > > > > > > > | > | 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 | if ( charcode <= end ) { if ( values ) { FT_Byte* p = values + 2 * ( charcode - cmap->cur_start ); /* if p > limit, the whole segment is invalid */ if ( p > limit ) goto Next_Segment; do { FT_UInt gindex = FT_NEXT_USHORT( p ); if ( gindex ) { gindex = (FT_UInt)( (FT_Int)gindex + delta ) & 0xFFFFU; if ( gindex ) { cmap->cur_charcode = charcode; cmap->cur_gindex = gindex; return; } } } while ( ++charcode <= end ); } else { do { FT_UInt gindex = (FT_UInt)( (FT_Int)charcode + delta ) & 0xFFFFU; if ( gindex >= (FT_UInt)face->root.num_glyphs ) { /* we have an invalid glyph index; if there is an overflow, */ /* we can adjust `charcode', otherwise the whole segment is */ /* invalid */ gindex = 0; if ( (FT_Int)charcode + delta < 0 && (FT_Int)end + delta >= 0 ) charcode = (FT_UInt)( -delta ); else if ( (FT_Int)charcode + delta < 0x10000L && (FT_Int)end + delta >= 0x10000L ) charcode = (FT_UInt)( 0x10000L - delta ); else goto Next_Segment; } if ( gindex ) { cmap->cur_charcode = charcode; cmap->cur_gindex = gindex; return; } } while ( ++charcode <= end ); } } Next_Segment: /* we need to find another range */ if ( tt_cmap4_set_range( cmap, cmap->cur_range + 1 ) < 0 ) break; if ( charcode < cmap->cur_start ) charcode = cmap->cur_start; } |
︙ | ︙ | |||
1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 | static FT_UInt tt_cmap4_char_map_binary( TT_CMap cmap, FT_UInt32* pcharcode, FT_Bool next ) { FT_UInt num_segs2, start, end, offset; FT_Int delta; FT_UInt max, min, mid, num_segs; FT_UInt charcode = (FT_UInt)*pcharcode; FT_UInt gindex = 0; FT_Byte* p; | > > > | 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 | static FT_UInt tt_cmap4_char_map_binary( TT_CMap cmap, FT_UInt32* pcharcode, FT_Bool next ) { TT_Face face = (TT_Face)cmap->cmap.charmap.face; FT_Byte* limit = face->cmap_table + face->cmap_size; FT_UInt num_segs2, start, end, offset; FT_Int delta; FT_UInt max, min, mid, num_segs; FT_UInt charcode = (FT_UInt)*pcharcode; FT_UInt gindex = 0; FT_Byte* p; |
︙ | ︙ | |||
1217 1218 1219 1220 1221 1222 1223 | offset = TT_PEEK_USHORT( p ); /* some fonts have an incorrect last segment; */ /* we have to catch it */ if ( mid >= num_segs - 1 && start == 0xFFFFU && end == 0xFFFFU ) { | < < < < | 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 | offset = TT_PEEK_USHORT( p ); /* some fonts have an incorrect last segment; */ /* we have to catch it */ if ( mid >= num_segs - 1 && start == 0xFFFFU && end == 0xFFFFU ) { if ( offset && p + offset + 2 > limit ) { delta = 1; offset = 0; } } |
︙ | ︙ | |||
1343 1344 1345 1346 1347 1348 1349 1350 | if ( offset == 0xFFFFU ) break; } if ( offset ) { p += offset + ( charcode - start ) * 2; gindex = TT_PEEK_USHORT( p ); | > > > > > | > > > | > > > > > > > > > > > > > > > > > > > | 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 | if ( offset == 0xFFFFU ) break; } if ( offset ) { p += offset + ( charcode - start ) * 2; /* if p > limit, the whole segment is invalid */ if ( next && p > limit ) break; gindex = TT_PEEK_USHORT( p ); if ( gindex ) { gindex = (FT_UInt)( (FT_Int)gindex + delta ) & 0xFFFFU; if ( gindex >= (FT_UInt)face->root.num_glyphs ) gindex = 0; } } else { gindex = (FT_UInt)( (FT_Int)charcode + delta ) & 0xFFFFU; if ( next && gindex >= (FT_UInt)face->root.num_glyphs ) { /* we have an invalid glyph index; if there is an overflow, */ /* we can adjust `charcode', otherwise the whole segment is */ /* invalid */ gindex = 0; if ( (FT_Int)charcode + delta < 0 && (FT_Int)end + delta >= 0 ) charcode = (FT_UInt)( -delta ); else if ( (FT_Int)charcode + delta < 0x10000L && (FT_Int)end + delta >= 0x10000L ) charcode = (FT_UInt)( 0x10000L - delta ); } } break; } } if ( next ) { |
︙ | ︙ |
Changes to jni/freetype/src/sfnt/ttload.c.
︙ | ︙ | |||
771 772 773 774 775 776 777 | FT_TRACE0(( "tt_face_load_maxp:" " too much twilight points in `maxp' table;\n" " " " some glyphs might be rendered incorrectly\n" )); maxProfile->maxTwilightPoints = 0xFFFFU - 4; } | < < < < < < < < < | 771 772 773 774 775 776 777 778 779 780 781 782 783 784 | FT_TRACE0(( "tt_face_load_maxp:" " too much twilight points in `maxp' table;\n" " " " some glyphs might be rendered incorrectly\n" )); maxProfile->maxTwilightPoints = 0xFFFFU - 4; } } FT_TRACE3(( "numGlyphs: %u\n", maxProfile->numGlyphs )); Exit: return error; } |
︙ | ︙ | |||
1189 1190 1191 1192 1193 1194 1195 | static const FT_Frame_Field post_fields[] = { #undef FT_STRUCTURE #define FT_STRUCTURE TT_Postscript FT_FRAME_START( 32 ), | | | | 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 | static const FT_Frame_Field post_fields[] = { #undef FT_STRUCTURE #define FT_STRUCTURE TT_Postscript FT_FRAME_START( 32 ), FT_FRAME_LONG ( FormatType ), FT_FRAME_LONG ( italicAngle ), FT_FRAME_SHORT( underlinePosition ), FT_FRAME_SHORT( underlineThickness ), FT_FRAME_ULONG( isFixedPitch ), FT_FRAME_ULONG( minMemType42 ), FT_FRAME_ULONG( maxMemType42 ), FT_FRAME_ULONG( minMemType1 ), FT_FRAME_ULONG( maxMemType1 ), |
︙ | ︙ |
Changes to jni/freetype/src/sfnt/ttsbit.c.
︙ | ︙ | |||
192 193 194 195 196 197 198 199 200 201 202 203 204 205 | default: error = FT_THROW( Unknown_File_Format ); break; } if ( !error ) FT_TRACE3(( "sbit_num_strikes: %u\n", face->sbit_num_strikes )); return FT_Err_Ok; Exit: if ( error ) { if ( face->sbit_table ) | > > > > > > > > > > > > > > > > > > > > > | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 | default: error = FT_THROW( Unknown_File_Format ); break; } if ( !error ) FT_TRACE3(( "sbit_num_strikes: %u\n", face->sbit_num_strikes )); face->ebdt_start = 0; face->ebdt_size = 0; if ( face->sbit_table_type != TT_SBIT_TABLE_TYPE_NONE ) { FT_ULong ebdt_size; error = face->goto_table( face, TTAG_CBDT, stream, &ebdt_size ); if ( error ) error = face->goto_table( face, TTAG_EBDT, stream, &ebdt_size ); if ( error ) error = face->goto_table( face, TTAG_bdat, stream, &ebdt_size ); if ( !error ) { face->ebdt_start = FT_STREAM_POS(); face->ebdt_size = ebdt_size; } } return FT_Err_Ok; Exit: if ( error ) { if ( face->sbit_table ) |
︙ | ︙ | |||
319 320 321 322 323 324 325 326 327 328 329 330 331 332 | } /* Is this correct? */ metrics->max_advance = ( (FT_Char)strike[22] + /* min_origin_SB */ strike[18] + /* max_width */ (FT_Char)strike[23] /* min_advance_SB */ ) * 64; return FT_Err_Ok; } case TT_SBIT_TABLE_TYPE_SBIX: { FT_Stream stream = face->root.stream; FT_UInt offset; | > > > > > > > > > > | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | } /* Is this correct? */ metrics->max_advance = ( (FT_Char)strike[22] + /* min_origin_SB */ strike[18] + /* max_width */ (FT_Char)strike[23] /* min_advance_SB */ ) * 64; /* set the scale values (in 16.16 units) so advances */ /* from the hmtx and vmtx table are scaled correctly */ metrics->x_scale = FT_MulDiv( metrics->x_ppem, 64 * 0x10000, face->header.Units_Per_EM ); metrics->y_scale = FT_MulDiv( metrics->y_ppem, 64 * 0x10000, face->header.Units_Per_EM ); return FT_Err_Ok; } case TT_SBIT_TABLE_TYPE_SBIX: { FT_Stream stream = face->root.stream; FT_UInt offset; |
︙ | ︙ | |||
410 411 412 413 414 415 416 | static FT_Error tt_sbit_decoder_init( TT_SBitDecoder decoder, TT_Face face, FT_ULong strike_index, TT_SBit_MetricsRec* metrics ) { | | < < | | | < < | | | 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 | static FT_Error tt_sbit_decoder_init( TT_SBitDecoder decoder, TT_Face face, FT_ULong strike_index, TT_SBit_MetricsRec* metrics ) { FT_Error error = FT_ERR( Table_Missing ); FT_Stream stream = face->root.stream; if ( !face->ebdt_size ) goto Exit; if ( FT_STREAM_SEEK( face->ebdt_start ) ) goto Exit; decoder->face = face; decoder->stream = stream; decoder->bitmap = &face->root.glyph->bitmap; decoder->metrics = metrics; decoder->metrics_loaded = 0; decoder->bitmap_allocated = 0; decoder->ebdt_start = face->ebdt_start; decoder->ebdt_size = face->ebdt_size; decoder->eblc_base = face->sbit_table; decoder->eblc_limit = face->sbit_table + face->sbit_table_size; /* now find the strike corresponding to the index */ { FT_Byte* p; |
︙ | ︙ | |||
850 851 852 853 854 855 856 | else { rval >>= 8; nbits -= w; } *pwrite++ |= ( ( rval >> nbits ) & 0xFF ) & | | | 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 | else { rval >>= 8; nbits -= w; } *pwrite++ |= ( ( rval >> nbits ) & 0xFF ) & ( ~( 0xFFU << w ) << ( 8 - w - x_pos ) ); rval <<= 8; w = line_bits - w; } /* handle medial bytes */ for ( ; w >= 8; w -= 8 ) |
︙ | ︙ |
Changes to jni/freetype/src/smooth/ftgrays.c.
︙ | ︙ | |||
399 400 401 402 403 404 405 | TCoord x; /* same with gray_TWorker.ex */ TCoord cover; /* same with gray_TWorker.cover */ TArea area; PCell next; } TCell; | > | > > | < > | 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 | TCoord x; /* same with gray_TWorker.ex */ TCoord cover; /* same with gray_TWorker.cover */ TArea area; PCell next; } TCell; typedef struct TPixmap_ { unsigned char* origin; /* pixmap origin at the bottom-left */ int pitch; /* pitch to go down one row */ } TPixmap; /* maximum number of gray cells in the buffer */ #if FT_RENDER_POOL_SIZE > 2048 #define FT_MAX_GRAY_POOL ( FT_RENDER_POOL_SIZE / sizeof ( TCell ) ) #else #define FT_MAX_GRAY_POOL ( 2048 / sizeof ( TCell ) ) #endif |
︙ | ︙ | |||
426 427 428 429 430 431 432 | typedef struct gray_TWorker_ { ft_jmp_buf jump_buffer; TCoord ex, ey; TCoord min_ex, max_ex; TCoord min_ey, max_ey; | < < | < < < | 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 | typedef struct gray_TWorker_ { ft_jmp_buf jump_buffer; TCoord ex, ey; TCoord min_ex, max_ex; TCoord min_ey, max_ey; TArea area; TCoord cover; int invalid; PCell cells; FT_PtrDist max_cells; FT_PtrDist num_cells; TPos x, y; FT_Outline outline; TPixmap target; FT_Raster_Span_Func render_span; void* render_span_data; PCell* ycells; } gray_TWorker, *gray_PWorker; #if defined( _MSC_VER ) #pragma warning( pop ) |
︙ | ︙ | |||
478 479 480 481 482 483 484 | #ifdef FT_DEBUG_LEVEL_TRACE /* to be called while in the debugger -- */ /* this function causes a compiler warning since it is unused otherwise */ static void gray_dump_cells( RAS_ARG ) { | | | | | | | | | | 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 | #ifdef FT_DEBUG_LEVEL_TRACE /* to be called while in the debugger -- */ /* this function causes a compiler warning since it is unused otherwise */ static void gray_dump_cells( RAS_ARG ) { int y; for ( y = ras.min_ey; y < ras.max_ey; y++ ) { PCell cell = ras.ycells[y - ras.min_ey]; printf( "%3d:", y ); for ( ; cell != NULL; cell = cell->next ) printf( " (%3d, c:%4d, a:%6d)", cell->x, cell->cover, cell->area ); printf( "\n" ); } } #endif /* FT_DEBUG_LEVEL_TRACE */ /*************************************************************************/ /* */ /* Record the current cell in the table. */ /* */ static PCell gray_find_cell( RAS_ARG ) { PCell *pcell, cell; TCoord x = ras.ex; if ( x > ras.max_ex ) x = ras.max_ex; pcell = &ras.ycells[ras.ey - ras.min_ey]; for (;;) { cell = *pcell; if ( cell == NULL || cell->x > x ) break; if ( cell->x == x ) |
︙ | ︙ | |||
575 576 577 578 579 580 581 | /* . the new horizontal position must be strictly less than max_ex */ /* */ /* Note that if a cell is to the left of the clipping region, it is */ /* actually set to the (min_ex-1) horizontal position. */ /* All cells that are on the left of the clipping region go to the */ /* min_ex - 1 horizontal position. */ | < < < | | < < < | < < < < < < < < < < | | < < < < < < < < < < | 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 | /* . the new horizontal position must be strictly less than max_ex */ /* */ /* Note that if a cell is to the left of the clipping region, it is */ /* actually set to the (min_ex-1) horizontal position. */ /* All cells that are on the left of the clipping region go to the */ /* min_ex - 1 horizontal position. */ if ( ex > ras.max_ex ) ex = ras.max_ex; if ( ex < ras.min_ex ) ex = ras.min_ex - 1; /* are we moving to a different cell ? */ if ( ex != ras.ex || ey != ras.ey ) { /* record the current one if it is valid */ if ( !ras.invalid ) gray_record_cell( RAS_VAR ); ras.area = 0; ras.cover = 0; ras.ex = ex; ras.ey = ey; } ras.invalid = ( ey >= ras.max_ey || ey < ras.min_ey || ex >= ras.max_ex ); } #ifndef FT_LONG64 /*************************************************************************/ /* */ /* Render a scanline as one or more cells. */ /* */ |
︙ | ︙ | |||
653 654 655 656 657 658 659 | /* trivial case. Happens often */ if ( y1 == y2 ) { gray_set_cell( RAS_VAR_ ex2, ey ); return; } | | | > < > > > > | | | < | < > | | 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 | /* trivial case. Happens often */ if ( y1 == y2 ) { gray_set_cell( RAS_VAR_ ex2, ey ); return; } fx1 = (TCoord)( x1 - SUBPIXELS( ex1 ) ); fx2 = (TCoord)( x2 - SUBPIXELS( ex2 ) ); delta = y2 - y1; /* everything is located in a single cell. That is easy! */ /* */ if ( ex1 == ex2 ) { ras.area += (TArea)(( fx1 + fx2 ) * delta); ras.cover += delta; return; } /* ok, we'll have to render a run of adjacent cells on the same */ /* scanline... */ /* */ dx = x2 - x1; if ( dx > 0 ) { p = ( ONE_PIXEL - fx1 ) * delta; first = ONE_PIXEL; incr = 1; } else { p = fx1 * delta; first = 0; incr = -1; dx = -dx; } FT_DIV_MOD( TCoord, p, dx, delta, mod ); |
︙ | ︙ | |||
760 761 762 763 764 765 766 | goto End; } dx = to_x - ras.x; dy = to_y - ras.y; /* vertical line - avoid calling gray_render_scanline */ | < < > > | < > > > | 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 | goto End; } dx = to_x - ras.x; dy = to_y - ras.y; /* vertical line - avoid calling gray_render_scanline */ if ( dx == 0 ) { TCoord ex = TRUNC( ras.x ); TCoord two_fx = (TCoord)( ( ras.x - SUBPIXELS( ex ) ) << 1 ); TArea area; if ( dy > 0) { first = ONE_PIXEL; incr = 1; } else { first = 0; incr = -1; } delta = first - fy1; ras.area += (TArea)two_fx * delta; |
︙ | ︙ | |||
802 803 804 805 806 807 808 | ras.area += (TArea)two_fx * delta; ras.cover += delta; goto End; } /* ok, we have to render several scanlines */ | > > | | | | < > | 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 | ras.area += (TArea)two_fx * delta; ras.cover += delta; goto End; } /* ok, we have to render several scanlines */ if ( dy > 0) { p = ( ONE_PIXEL - fy1 ) * dx; first = ONE_PIXEL; incr = 1; } else { p = fy1 * dx; first = 0; incr = -1; dy = -dy; } |
︙ | ︙ | |||
1214 1215 1216 1217 1218 1219 1220 | static int gray_move_to( const FT_Vector* to, gray_PWorker worker ) { TPos x, y; | < < < < | | 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 | static int gray_move_to( const FT_Vector* to, gray_PWorker worker ) { TPos x, y; /* start to a new position */ x = UPSCALE( to->x ); y = UPSCALE( to->y ); gray_set_cell( RAS_VAR_ TRUNC( x ), TRUNC( y ) ); ras.x = x; ras.y = y; return 0; } |
︙ | ︙ | |||
1259 1260 1261 1262 1263 1264 1265 | const FT_Vector* to, gray_PWorker worker ) { gray_render_cubic( RAS_VAR_ control1, control2, to ); return 0; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | > | 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 | const FT_Vector* to, gray_PWorker worker ) { gray_render_cubic( RAS_VAR_ control1, control2, to ); return 0; } static void gray_hline( RAS_ARG_ TCoord x, TCoord y, TArea area, TCoord acount ) { int coverage; FT_Span span; /* compute the coverage line's coverage, depending on the */ /* outline fill rule */ /* */ /* the coverage percentage is area/(PIXEL_BITS*PIXEL_BITS*2) */ /* */ |
︙ | ︙ | |||
1342 1343 1344 1345 1346 1347 1348 | else { /* normal non-zero winding rule */ if ( coverage >= 256 ) coverage = 255; } | < < | < < | | | < < < < < < < | < < > | | < | | < < | < < | > > > > | | | | | < < < < < | < | < < | | < | < | < < | < | < | < < < | | | | | | | | | < < < < < < < < < < < < < < < < < < < < < < < | 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 | else { /* normal non-zero winding rule */ if ( coverage >= 256 ) coverage = 255; } if ( ras.render_span ) /* for FT_RASTER_FLAG_DIRECT only */ { span.x = (short)x; span.len = (unsigned short)acount; span.coverage = (unsigned char)coverage; ras.render_span( y, 1, &span, ras.render_span_data ); } else { unsigned char* q = ras.target.origin - ras.target.pitch * y + x; unsigned char c = (unsigned char)coverage; /* For small-spans it is faster to do it by ourselves than * calling `memset'. This is mainly due to the cost of the * function call. */ switch ( acount ) { case 7: *q++ = c; case 6: *q++ = c; case 5: *q++ = c; case 4: *q++ = c; case 3: *q++ = c; case 2: *q++ = c; case 1: *q = c; case 0: break; default: FT_MEM_SET( q, c, acount ); } } } static void gray_sweep( RAS_ARG ) { int y; if ( ras.num_cells == 0 ) return; FT_TRACE7(( "gray_sweep: start\n" )); for ( y = ras.min_ey; y < ras.max_ey; y++ ) { PCell cell = ras.ycells[y - ras.min_ey]; TCoord cover = 0; TCoord x = ras.min_ex; for ( ; cell != NULL; cell = cell->next ) { TArea area; if ( cover != 0 && cell->x > x ) gray_hline( RAS_VAR_ x, y, (TArea)cover * ( ONE_PIXEL * 2 ), cell->x - x ); cover += cell->cover; area = (TArea)cover * ( ONE_PIXEL * 2 ) - cell->area; if ( area != 0 && cell->x >= ras.min_ex ) gray_hline( RAS_VAR_ cell->x, y, area, 1 ); x = cell->x + 1; } if ( cover != 0 ) gray_hline( RAS_VAR_ x, y, (TArea)cover * ( ONE_PIXEL * 2 ), ras.max_ex - x ); } FT_TRACE7(( "gray_sweep: end\n" )); } #ifdef STANDALONE_ /*************************************************************************/ /* */ |
︙ | ︙ | |||
1834 1835 1836 1837 1838 1839 1840 | acbox->yMin = yMin; acbox->yMax = yMax; } } #endif /* STANDALONE_ */ | < < < < < < < | 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 | acbox->yMin = yMin; acbox->yMax = yMax; } } #endif /* STANDALONE_ */ FT_DEFINE_OUTLINE_FUNCS( func_interface, (FT_Outline_MoveTo_Func) gray_move_to, (FT_Outline_LineTo_Func) gray_line_to, (FT_Outline_ConicTo_Func)gray_conic_to, |
︙ | ︙ | |||
1888 1889 1890 1891 1892 1893 1894 | return error; } static int gray_convert_glyph( RAS_ARG ) { | | | > | | | | | | | > | | < | | | | < | < < | | | < | < > > > > > > > | | > > > > > > > > > | > > > > > > | < < > > > | 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 | return error; } static int gray_convert_glyph( RAS_ARG ) { TCell buffer[FT_MAX_GRAY_POOL]; TCoord band_size = FT_MAX_GRAY_POOL / 8; TCoord count = ras.max_ey - ras.min_ey; int num_bands; TCoord min, max, max_y; TCoord bands[32]; /* enough to accommodate bisections */ TCoord* band; /* set up vertical bands */ if ( count > band_size ) { /* two divisions rounded up */ num_bands = (int)( ( count + band_size - 1) / band_size ); band_size = ( count + num_bands - 1 ) / num_bands; } min = ras.min_ey; max_y = ras.max_ey; for ( ; min < max_y; min = max ) { max = min + band_size; if ( max > max_y ) max = max_y; band = bands; band[1] = min; band[0] = max; do { TCoord width = band[0] - band[1]; int error; /* memory management */ { size_t ycount = (size_t)width; size_t cell_start; cell_start = ( ycount * sizeof ( PCell ) + sizeof ( TCell ) - 1 ) / sizeof ( TCell ); if ( FT_MAX_GRAY_POOL - cell_start < 2 ) goto ReduceBands; ras.cells = buffer + cell_start; ras.max_cells = (FT_PtrDist)( FT_MAX_GRAY_POOL - cell_start ); ras.ycells = (PCell*)buffer; while ( ycount ) ras.ycells[--ycount] = NULL; } ras.num_cells = 0; ras.invalid = 1; ras.min_ey = band[1]; ras.max_ey = ras.ey = band[0]; error = gray_convert_glyph_inner( RAS_VAR ); if ( !error ) { gray_sweep( RAS_VAR ); band--; continue; } else if ( error != ErrRaster_Memory_Overflow ) return 1; ReduceBands: /* render pool overflow; we will reduce the render band by half */ width >>= 1; /* This is too complex for a single scanline; there must */ /* be some problems. */ if ( width == 0 ) { FT_TRACE7(( "gray_convert_glyph: rotten glyph\n" )); return 1; } band++; band[1] = band[0]; band[0] += width; } while ( band >= bands ); } return 0; } static int gray_raster_render( FT_Raster raster, const FT_Raster_Params* params ) { const FT_Outline* outline = (const FT_Outline*)params->source; const FT_Bitmap* target_map = params->target; FT_BBox cbox, clip; #ifndef FT_STATIC_RASTER gray_TWorker worker[1]; #endif if ( !raster ) return FT_THROW( Invalid_Argument ); /* this version does not support monochrome rendering */ if ( !( params->flags & FT_RASTER_FLAG_AA ) ) return FT_THROW( Invalid_Mode ); if ( !outline ) return FT_THROW( Invalid_Outline ); /* return immediately if the outline is empty */ if ( outline->n_points == 0 || outline->n_contours <= 0 ) return 0; if ( !outline->contours || !outline->points ) return FT_THROW( Invalid_Outline ); if ( outline->n_points != outline->contours[outline->n_contours - 1] + 1 ) return FT_THROW( Invalid_Outline ); ras.outline = *outline; if ( params->flags & FT_RASTER_FLAG_DIRECT ) { if ( !params->gray_spans ) return 0; ras.render_span = (FT_Raster_Span_Func)params->gray_spans; ras.render_span_data = params->user; } else { /* if direct mode is not set, we must have a target bitmap */ if ( !target_map ) return FT_THROW( Invalid_Argument ); /* nothing to do */ if ( !target_map->width || !target_map->rows ) return 0; if ( !target_map->buffer ) return FT_THROW( Invalid_Argument ); if ( target_map->pitch < 0 ) ras.target.origin = target_map->buffer; else ras.target.origin = target_map->buffer + ( target_map->rows - 1 ) * (unsigned int)target_map->pitch; ras.target.pitch = target_map->pitch; ras.render_span = (FT_Raster_Span_Func)NULL; ras.render_span_data = NULL; } FT_Outline_Get_CBox( outline, &cbox ); /* reject too large outline coordinates */ if ( cbox.xMin < -0x1000000L || cbox.xMax > 0x1000000L || cbox.yMin < -0x1000000L || cbox.yMax > 0x1000000L ) return FT_THROW( Invalid_Outline ); |
︙ | ︙ | |||
2073 2074 2075 2076 2077 2078 2079 | ras.min_ey = FT_MAX( cbox.yMin, clip.yMin ); ras.max_ex = FT_MIN( cbox.xMax, clip.xMax ); ras.max_ey = FT_MIN( cbox.yMax, clip.yMax ); if ( ras.max_ex <= ras.min_ex || ras.max_ey <= ras.min_ey ) return 0; | < < < < < < < < < < < < < < < < < | 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 | ras.min_ey = FT_MAX( cbox.yMin, clip.yMin ); ras.max_ex = FT_MIN( cbox.xMax, clip.xMax ); ras.max_ey = FT_MIN( cbox.yMax, clip.yMax ); if ( ras.max_ex <= ras.min_ex || ras.max_ey <= ras.min_ey ) return 0; return gray_convert_glyph( RAS_VAR ); } /**** RASTER OBJECT CREATION: In stand-alone mode, we simply use *****/ /**** a static object. *****/ |
︙ | ︙ |
Changes to jni/freetype/src/tools/ftrandom/Makefile.
1 2 3 4 5 6 7 | # TOP_DIR and OBJ_DIR should be set by the user to the right directories, # if necessary. TOP_DIR ?= ../../.. OBJ_DIR ?= $(TOP_DIR)/objs | | > > > > > | | > < < | > > > | > | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # TOP_DIR and OBJ_DIR should be set by the user to the right directories, # if necessary. TOP_DIR ?= ../../.. OBJ_DIR ?= $(TOP_DIR)/objs # The setup below is for gcc on a Unix-like platform, # where FreeType has been set up to create a static library # (which is the default). VPATH = $(OBJ_DIR) \ $(OBJ_DIR)/.libs SRC_DIR = $(TOP_DIR)/src/tools/ftrandom CC = gcc WFLAGS = -Wmissing-prototypes \ -Wunused \ -Wimplicit \ -Wreturn-type \ -Wparentheses \ -pedantic \ -Wformat \ -Wchar-subscripts \ -Wsequence-point CFLAGS = $(WFLAGS) \ -g INCLUDES = -I $(TOP_DIR)/include LDFLAGS = LIBS = -lm \ -lz \ -lpng \ -lbz2 \ -lharfbuzz all: $(OBJ_DIR)/ftrandom $(OBJ_DIR)/ftrandom.o: $(SRC_DIR)/ftrandom.c $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $< $(OBJ_DIR)/ftrandom: $(OBJ_DIR)/ftrandom.o libfreetype.a $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) # EOF |
Changes to jni/freetype/src/tools/ftrandom/README.
1 | ftrandom | < > | | < | | | | | | | | | | | < > > | < | | | | > | < < < | | | > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | ftrandom ======== This program expects a set of directories containing good fonts, and a set of extensions of fonts to be tested. It will randomly pick a font, copy it, introduce an error and then test it. The FreeType tests are quite basic; for each erroneous font ftrandom . forks off a new tester, . initializes the library, . opens each font in the file, . loads each glyph, . optionally reviews the contours of the glyph, . optionally rasterizes the glyph, and . closes the face. If a tester takes longer than 20 seconds, ftrandom saves the erroneous font and continues. If the tester exits normally or with an error, then the superstructure removes the test font and continues. Command line options -------------------- --all Test every font in the directory(ies) no matter what its extension. --check-outlines Call `FT_Outline_Decompose' on each glyph. --dir <dir> Append <dir> to the list of directories to search for good fonts. No recursive search. --error-count <cnt> Introduce <cnt> single-byte errors into the erroneous fonts (default: 1). --error-fraction <frac> Multiply the file size of the font by <frac> and introduce that many errors into the erroneous font file. <frac> should be in the range [0;1] (default: 0.0). --ext <ext> Add <ext> to the set of font types tested. --help Print out this list of options. --nohints Specify FT_LOAD_NO_HINTING when loading glyphs. --rasterize Call `FT_Render_Glyph' as well as loading it. --result <dir> This is the directory in which test files are placed. --test <file> Run a single test on a pre-generated testcase. This is done in the current process so it can be debugged more easily. The default font extensions tested by ftrandom are .ttf .otf .ttc .cid .pfb .pfa .bdf .pcf .pfr .fon .otb .cff The default font directory is controlled by the macro `GOOD_FONTS_DIR' in the source code (and can be thus specified during compilation); its default value is /usr/local/share/fonts The default result directory is `results' (in the current directory). Compilation ----------- Two possible solutions. . Run ftrandom within a debugging tool like `valgrind' to catch various memory issues. . Compile FreeType with sanitizer flags as provided by gcc or clang, for example, then link it with ftrandom. |
Changes to jni/freetype/src/tools/ftrandom/ftrandom.c.
︙ | ︙ | |||
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* modified by Werner Lemberg <wl@gnu.org> */ /* This file is now part of the FreeType library */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> #include <unistd.h> #include <dirent.h> | > > > < | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* modified by Werner Lemberg <wl@gnu.org> */ /* This file is now part of the FreeType library */ #define _XOPEN_SOURCE 500 /* for `kill', `strdup', `random', and `srandom' */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> #include <unistd.h> #include <dirent.h> #include <signal.h> #include <time.h> #include <ft2build.h> #include FT_FREETYPE_H #include FT_OUTLINE_H #define true 1 #define false 0 #define forever for (;;) static int check_outlines = false; static int nohints = false; static int rasterize = false; static char* results_dir = "results"; #define GOOD_FONTS_DIR "/usr/local/share/fonts" static char* default_dir_list[] = { GOOD_FONTS_DIR, NULL }; |
︙ | ︙ | |||
77 78 79 80 81 82 83 | "pfr", "fon", "otb", "cff", NULL }; | | | | | > > > > > > > > > > > > > > > | | | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | "pfr", "fon", "otb", "cff", NULL }; static unsigned int error_count = 1; static double error_fraction = 0.0; static FT_F26Dot6 font_size = 12 * 64; static struct fontlist { char* name; long len; unsigned int isbinary: 1; unsigned int isascii: 1; unsigned int ishex: 1; } *fontlist; static unsigned int fcnt; static int FT_MoveTo( const FT_Vector *to, void *user ) { FT_UNUSED( to ); FT_UNUSED( user ); return 0; } static int FT_LineTo( const FT_Vector *to, void *user ) { FT_UNUSED( to ); FT_UNUSED( user ); return 0; } static int FT_ConicTo( const FT_Vector *_cp, const FT_Vector *to, void *user ) { FT_UNUSED( _cp ); FT_UNUSED( to ); FT_UNUSED( user ); return 0; } static int FT_CubicTo( const FT_Vector *cp1, const FT_Vector *cp2, const FT_Vector *to, void *user ) { FT_UNUSED( cp1 ); FT_UNUSED( cp2 ); FT_UNUSED( to ); FT_UNUSED( user ); return 0; } static FT_Outline_Funcs outlinefuncs = { FT_MoveTo, FT_LineTo, FT_ConicTo, FT_CubicTo, 0, 0 /* No shift, no delta */ }; static void TestFace( FT_Face face ) { unsigned int gid; int load_flags = FT_LOAD_DEFAULT; if ( check_outlines && FT_IS_SCALABLE( face ) ) load_flags = FT_LOAD_NO_BITMAP; if ( nohints ) |
︙ | ︙ | |||
198 199 200 201 202 203 204 | exit( 0 ); } if ( face->num_faces == 1 ) TestFace( face ); else { | | > > | 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | exit( 0 ); } if ( face->num_faces == 1 ) TestFace( face ); else { long i, num; num = face->num_faces; FT_Done_Face( face ); for ( i = 0; i < num; ++i ) { if ( !FT_New_Face( context, testfont, i, &face ) ) TestFace( face ); } } FT_Done_FreeType( context ); exit( 0 ); } static int extmatch( char* filename, |
︙ | ︙ | |||
325 326 327 328 329 330 331 | } static void FindFonts( char** fontdirs, char** extensions ) { | | > | | | 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | } static void FindFonts( char** fontdirs, char** extensions ) { int i; unsigned int max; char buffer[1025]; struct stat statb; max = 0; fcnt = 0; for ( i = 0; fontdirs[i] != NULL; ++i ) { |
︙ | ︙ | |||
388 389 390 391 392 393 394 | exit( 1 ); } fontlist[fcnt].name = NULL; } | | | | | | | | | 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 | exit( 1 ); } fontlist[fcnt].name = NULL; } static unsigned int getErrorCnt( struct fontlist* item ) { if ( error_count == 0 && error_fraction == 0.0 ) return 0; return error_count + (unsigned int)( error_fraction * item->len ); } static int getRandom( int low, int high ) { if ( low - high < 0x10000L ) return low + ( ( random() >> 8 ) % ( high + 1 - low ) ); return low + ( random() % ( high + 1 - low ) ); } static int copyfont( struct fontlist* item, char* newfont ) { static char buffer[8096]; FILE *good, *new; size_t len; unsigned int i, err_cnt; good = fopen( item->name, "r" ); if ( good == NULL ) { fprintf( stderr, "Can't open `%s'\n", item->name ); return false; |
︙ | ︙ | |||
442 443 444 445 446 447 448 | fwrite( buffer, 1, len, new ); fclose( good ); err_cnt = getErrorCnt( item ); for ( i = 0; i < err_cnt; ++i ) { | | | 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 | fwrite( buffer, 1, len, new ); fclose( good ); err_cnt = getErrorCnt( item ); for ( i = 0; i < err_cnt; ++i ) { fseek( new, getRandom( 0, (int)( item->len - 1 ) ), SEEK_SET ); if ( item->isbinary ) putc( getRandom( 0, 0xFF ), new ); else if ( item->isascii ) putc( getRandom( 0x20, 0x7E ), new ); else { |
︙ | ︙ | |||
480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 | static int child_pid; static void abort_test( int sig ) { /* If a time-out happens, then kill the child */ kill( child_pid, SIGFPE ); write( 2, "Timeout... ", 11 ); } static void do_test( void ) { | > > | | 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 | static int child_pid; static void abort_test( int sig ) { FT_UNUSED( sig ); /* If a time-out happens, then kill the child */ kill( child_pid, SIGFPE ); write( 2, "Timeout... ", 11 ); } static void do_test( void ) { int i = getRandom( 0, (int)( fcnt - 1 ) ); static int test_num = 0; char buffer[1024]; sprintf( buffer, "%s/test%d", results_dir, test_num++ ); if ( copyfont ( &fontlist[i], buffer ) ) |
︙ | ︙ | |||
530 531 532 533 534 535 536 537 538 539 540 541 | } static void usage( FILE* out, char* name ) { fprintf( out, "%s [options] -- Generate random erroneous fonts\n" " and attempt to parse them with FreeType.\n\n", name ); fprintf( out, " --all All non-directory files are assumed to be fonts.\n" ); fprintf( out, " --check-outlines Make sure we can parse the outlines of each glyph.\n" ); | > > > > | > | > | | > > > > > > > > > > > > > > | | | | > > > > > | 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 | } static void usage( FILE* out, char* name ) { char** d = default_dir_list; char** e = default_ext_list; fprintf( out, "%s [options] -- Generate random erroneous fonts\n" " and attempt to parse them with FreeType.\n\n", name ); fprintf( out, " --all All non-directory files are assumed to be fonts.\n" ); fprintf( out, " --check-outlines Make sure we can parse the outlines of each glyph.\n" ); fprintf( out, " --dir <path> Append <path> to list of font search directories\n" " (no recursive search).\n" ); fprintf( out, " --error-count <cnt> Introduce <cnt> single byte errors into each font\n" " (default: 1)\n" ); fprintf( out, " --error-fraction <frac> Introduce <frac>*filesize single byte errors\n" " into each font (default: 0.0).\n" ); fprintf( out, " --ext <ext> Add <ext> to list of extensions indicating fonts.\n" ); fprintf( out, " --help Print this.\n" ); fprintf( out, " --nohints Turn off hinting.\n" ); fprintf( out, " --rasterize Attempt to rasterize each glyph.\n" ); fprintf( out, " --results <path> Place the created test fonts into <path>\n" " (default: `results')\n" ); fprintf( out, " --size <float> Use the given font size for the tests.\n" ); fprintf( out, " --test <file> Run a single test on an already existing file.\n" ); fprintf( out, "\n" ); fprintf( out, "Default font extensions:\n" ); fprintf( out, " " ); while ( *e ) fprintf( out, " .%s", *e++ ); fprintf( out, "\n" ); fprintf( out, "Default font directories:\n" ); fprintf( out, " " ); while ( *d ) fprintf( out, " %s", *d++ ); fprintf( out, "\n" ); } int main( int argc, char** argv ) { char **dirs, **exts; int dcnt = 0, ecnt = 0, rset = false, allexts = false; int i; time_t now; char* testfile = NULL; dirs = calloc( (size_t)( argc + 1 ), sizeof ( char ** ) ); exts = calloc( (size_t)( argc + 1 ), sizeof ( char ** ) ); for ( i = 1; i < argc; ++i ) { char* pt = argv[i]; char* end; if ( pt[0] == '-' && pt[1] == '-' ) ++pt; if ( strcmp( pt, "-all" ) == 0 ) allexts = true; else if ( strcmp( pt, "-check-outlines" ) == 0 ) check_outlines = true; else if ( strcmp( pt, "-dir" ) == 0 ) dirs[dcnt++] = argv[++i]; else if ( strcmp( pt, "-error-count" ) == 0 ) { if ( !rset ) error_fraction = 0.0; rset = true; error_count = (unsigned int)strtoul( argv[++i], &end, 10 ); if ( *end != '\0' ) { fprintf( stderr, "Bad value for error-count: %s\n", argv[i] ); exit( 1 ); } } else if ( strcmp( pt, "-error-fraction" ) == 0 ) { if ( !rset ) error_count = 0; rset = true; error_fraction = strtod( argv[++i], &end ); if ( *end != '\0' ) { fprintf( stderr, "Bad value for error-fraction: %s\n", argv[i] ); exit( 1 ); } if ( error_fraction < 0.0 || error_fraction > 1.0 ) { fprintf( stderr, "error-fraction must be in the range [0;1]\n" ); exit( 1 ); } } else if ( strcmp( pt, "-ext" ) == 0 ) exts[ecnt++] = argv[++i]; else if ( strcmp( pt, "-help" ) == 0 ) { usage( stdout, argv[0] ); |
︙ | ︙ | |||
654 655 656 657 658 659 660 | dirs = default_dir_list; } if ( testfile != NULL ) ExecuteTest( testfile ); /* This should never return */ time( &now ); | | | 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 | dirs = default_dir_list; } if ( testfile != NULL ) ExecuteTest( testfile ); /* This should never return */ time( &now ); srandom( (unsigned int)now ); FindFonts( dirs, exts ); mkdir( results_dir, 0755 ); forever do_test(); return 0; } /* EOF */ |
Changes to jni/freetype/src/truetype/ttdriver.c.
︙ | ︙ | |||
57 58 59 60 61 62 63 | /* * PROPERTY SERVICE * */ static FT_Error tt_property_set( FT_Module module, /* TT_Driver */ const char* property_name, | | > > > > > > > > > > > > > > > > > > > > > > | | | | | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | /* * PROPERTY SERVICE * */ static FT_Error tt_property_set( FT_Module module, /* TT_Driver */ const char* property_name, const void* value, FT_Bool value_is_string ) { FT_Error error = FT_Err_Ok; TT_Driver driver = (TT_Driver)module; #ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES FT_UNUSED( value_is_string ); #endif if ( !ft_strcmp( property_name, "interpreter-version" ) ) { FT_UInt interpreter_version; #ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES if ( value_is_string ) { const char* s = (const char*)value; interpreter_version = (FT_UInt)ft_strtol( s, NULL, 10 ); } else #endif { FT_UInt* iv = (FT_UInt*)value; interpreter_version = *iv; } if ( interpreter_version == TT_INTERPRETER_VERSION_35 #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY || interpreter_version == TT_INTERPRETER_VERSION_38 #endif #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL || interpreter_version == TT_INTERPRETER_VERSION_40 #endif ) driver->interpreter_version = interpreter_version; else error = FT_ERR( Unimplemented_Feature ); return error; } FT_TRACE0(( "tt_property_set: missing property `%s'\n", |
︙ | ︙ | |||
313 314 315 316 317 318 319 320 321 322 323 324 325 326 | FT_Request_Metrics( size->face, req ); if ( FT_IS_SCALABLE( size->face ) ) { error = tt_size_reset( ttsize ); ttsize->root.metrics = ttsize->metrics; } return error; } /*************************************************************************/ | > > > > > > > > > > > > > > > > > > > | 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 | FT_Request_Metrics( size->face, req ); if ( FT_IS_SCALABLE( size->face ) ) { error = tt_size_reset( ttsize ); ttsize->root.metrics = ttsize->metrics; #ifdef TT_USE_BYTECODE_INTERPRETER /* for the `MPS' bytecode instruction we need the point size */ { FT_UInt resolution = ttsize->metrics.x_ppem > ttsize->metrics.y_ppem ? req->horiResolution : req->vertResolution; /* if we don't have a resolution value, assume 72dpi */ if ( req->type == FT_SIZE_REQUEST_TYPE_SCALES || !resolution ) resolution = 72; ttsize->point_size = FT_MulDiv( ttsize->ttmetrics.ppem, 64 * 72, resolution ); } #endif } return error; } /*************************************************************************/ |
︙ | ︙ |
Changes to jni/freetype/src/truetype/ttgload.c.
︙ | ︙ | |||
1432 1433 1434 1435 1436 1437 1438 | #ifdef FT_DEBUG_LEVEL_TRACE if ( recurse_count ) FT_TRACE5(( " nesting level: %d\n", recurse_count )); #endif | | < < | > > | < | 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 | #ifdef FT_DEBUG_LEVEL_TRACE if ( recurse_count ) FT_TRACE5(( " nesting level: %d\n", recurse_count )); #endif /* some fonts have an incorrect value of `maxComponentDepth' */ if ( recurse_count > face->max_profile.maxComponentDepth ) { FT_TRACE1(( "load_truetype_glyph: maxComponentDepth set to %d\n", recurse_count )); face->max_profile.maxComponentDepth = (FT_UShort)recurse_count; } #ifndef FT_CONFIG_OPTION_INCREMENTAL /* check glyph index */ if ( glyph_index >= (FT_UInt)face->root.num_glyphs ) { error = FT_THROW( Invalid_Glyph_Index ); |
︙ | ︙ | |||
1804 1805 1806 1807 1808 1809 1810 | (FT_UInt)outline.n_points ) ) != 0 ) goto Exit1; subglyph = gloader->current.subglyphs; for ( i = 0; i < limit; i++, subglyph++ ) { | | < < > | | > | 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 | (FT_UInt)outline.n_points ) ) != 0 ) goto Exit1; subglyph = gloader->current.subglyphs; for ( i = 0; i < limit; i++, subglyph++ ) { if ( subglyph->flags & ARGS_ARE_XY_VALUES ) { subglyph->arg1 = (FT_Int16)points[i].x; subglyph->arg2 = (FT_Int16)points[i].y; } } loader->pp1.x = points[i + 0].x; loader->pp1.y = points[i + 0].y; loader->pp2.x = points[i + 1].x; loader->pp2.y = points[i + 1].y; |
︙ | ︙ |
Changes to jni/freetype/src/truetype/ttgxvar.c.
︙ | ︙ | |||
154 155 156 157 158 159 160 | if ( n > size ) { FT_TRACE1(( "ft_var_readpackedpoints: number of points too large\n" )); return NULL; } | > > > | | > | < < < > > | < < < > > < | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | if ( n > size ) { FT_TRACE1(( "ft_var_readpackedpoints: number of points too large\n" )); return NULL; } /* in the nested loops below we increase `i' twice; */ /* it is faster to simply allocate one more slot */ /* than to add another test within the loop */ if ( FT_NEW_ARRAY( points, n + 1 ) ) return NULL; *point_cnt = n; first = 0; i = 0; while ( i < n ) { runcnt = FT_GET_BYTE(); if ( runcnt & GX_PT_POINTS_ARE_WORDS ) { runcnt &= GX_PT_POINT_RUN_COUNT_MASK; first += FT_GET_USHORT(); points[i++] = first; /* first point not included in run count */ for ( j = 0; j < runcnt; j++ ) { first += FT_GET_USHORT(); points[i++] = first; if ( i >= n ) break; } } else { first += FT_GET_BYTE(); points[i++] = first; for ( j = 0; j < runcnt; j++ ) { first += FT_GET_BYTE(); points[i++] = first; if ( i >= n ) break; } } } return points; } #define GX_DT_DELTAS_ARE_ZERO 0x80U #define GX_DT_DELTAS_ARE_WORDS 0x40U #define GX_DT_DELTA_RUN_COUNT_MASK 0x3FU |
︙ | ︙ | |||
1712 1713 1714 1715 1716 1717 1718 | /* Interpolate points without delta values, similar to */ /* the `IUP' hinting instruction. */ /* modeled after `Ins_IUP */ static void | | > | | < < < < | 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 | /* Interpolate points without delta values, similar to */ /* the `IUP' hinting instruction. */ /* modeled after `Ins_IUP */ static void tt_interpolate_deltas( FT_Outline* outline, FT_Vector* out_points, FT_Vector* in_points, FT_Bool* has_delta ) { FT_Int first_point; FT_Int end_point; FT_Int first_delta; FT_Int cur_delta; FT_Int point; FT_Short contour; /* ignore empty outlines */ if ( !outline->n_contours ) return; contour = 0; point = 0; do { end_point = outline->contours[contour]; first_point = point; |
︙ | ︙ | |||
1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 | FT_UInt n_points ) { FT_Stream stream = face->root.stream; FT_Memory memory = stream->memory; GX_Blend blend = face->blend; FT_Vector* points_org = NULL; FT_Bool* has_delta = NULL; FT_Error error; FT_ULong glyph_start; FT_UInt tupleCount; FT_ULong offsetToData; FT_ULong here; | > | 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 | FT_UInt n_points ) { FT_Stream stream = face->root.stream; FT_Memory memory = stream->memory; GX_Blend blend = face->blend; FT_Vector* points_org = NULL; FT_Vector* points_out = NULL; FT_Bool* has_delta = NULL; FT_Error error; FT_ULong glyph_start; FT_UInt tupleCount; FT_ULong offsetToData; FT_ULong here; |
︙ | ︙ | |||
1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 | { FT_TRACE2(( "TT_Vary_Apply_Glyph_Deltas:" " no variation data for this glyph\n" )); return FT_Err_Ok; } if ( FT_NEW_ARRAY( points_org, n_points ) || FT_NEW_ARRAY( has_delta, n_points ) ) goto Fail1; if ( FT_STREAM_SEEK( blend->glyphoffsets[glyph_index] ) || FT_FRAME_ENTER( blend->glyphoffsets[glyph_index + 1] - blend->glyphoffsets[glyph_index] ) ) goto Fail1; | > | 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 | { FT_TRACE2(( "TT_Vary_Apply_Glyph_Deltas:" " no variation data for this glyph\n" )); return FT_Err_Ok; } if ( FT_NEW_ARRAY( points_org, n_points ) || FT_NEW_ARRAY( points_out, n_points ) || FT_NEW_ARRAY( has_delta, n_points ) ) goto Fail1; if ( FT_STREAM_SEEK( blend->glyphoffsets[glyph_index] ) || FT_FRAME_ENTER( blend->glyphoffsets[glyph_index + 1] - blend->glyphoffsets[glyph_index] ) ) goto Fail1; |
︙ | ︙ | |||
1890 1891 1892 1893 1894 1895 1896 | FT_NEW_ARRAY( im_end_coords, blend->num_axis ) ) goto Fail2; tupleCount = FT_GET_USHORT(); offsetToData = FT_GET_USHORT(); /* rough sanity test */ | > | | 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 | FT_NEW_ARRAY( im_end_coords, blend->num_axis ) ) goto Fail2; tupleCount = FT_GET_USHORT(); offsetToData = FT_GET_USHORT(); /* rough sanity test */ if ( offsetToData + ( tupleCount & GX_TC_TUPLE_COUNT_MASK ) * 4 > blend->gvar_size ) { FT_TRACE2(( "TT_Vary_Apply_Glyph_Deltas:" " invalid glyph variation array header\n" )); error = FT_THROW( Invalid_Table ); goto Fail2; } |
︙ | ︙ | |||
1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 | FT_Stream_SeekSet( stream, here ); } FT_TRACE5(( "gvar: there are %d tuples:\n", tupleCount & GX_TC_TUPLE_COUNT_MASK )); for ( i = 0; i < ( tupleCount & GX_TC_TUPLE_COUNT_MASK ); i++ ) { FT_UInt tupleDataSize; FT_UInt tupleIndex; FT_Fixed apply; | > > > | 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 | FT_Stream_SeekSet( stream, here ); } FT_TRACE5(( "gvar: there are %d tuples:\n", tupleCount & GX_TC_TUPLE_COUNT_MASK )); for ( j = 0; j < n_points; j++ ) points_org[j] = outline->points[j]; for ( i = 0; i < ( tupleCount & GX_TC_TUPLE_COUNT_MASK ); i++ ) { FT_UInt tupleDataSize; FT_UInt tupleIndex; FT_Fixed apply; |
︙ | ︙ | |||
1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 | if ( apply == 0 ) /* tuple isn't active for our blend */ { offsetToData += tupleDataSize; continue; } here = FT_Stream_FTell( stream ); if ( tupleIndex & GX_TI_PRIVATE_POINT_NUMBERS ) { | > > < < | 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 | if ( apply == 0 ) /* tuple isn't active for our blend */ { offsetToData += tupleDataSize; continue; } here = FT_Stream_FTell( stream ); FT_Stream_SeekSet( stream, offsetToData ); if ( tupleIndex & GX_TI_PRIVATE_POINT_NUMBERS ) { localpoints = ft_var_readpackedpoints( stream, blend->gvar_size, &point_count ); points = localpoints; } else { |
︙ | ︙ | |||
2011 2012 2013 2014 2015 2016 2017 | FT_TRACE7(( " point deltas:\n" )); /* this means that there are deltas for every point in the glyph */ for ( j = 0; j < n_points; j++ ) { | | | < | | | < | | < < < < > | | | | > | | < | > > > > | | > > > | | > > | 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 | FT_TRACE7(( " point deltas:\n" )); /* this means that there are deltas for every point in the glyph */ for ( j = 0; j < n_points; j++ ) { FT_Pos delta_x = FT_MulFix( deltas_x[j], apply ); FT_Pos delta_y = FT_MulFix( deltas_y[j], apply ); outline->points[j].x += delta_x; outline->points[j].y += delta_y; #ifdef FT_DEBUG_LEVEL_TRACE if ( delta_x || delta_y ) { FT_TRACE7(( " %d: (%d, %d) -> (%d, %d)\n", j, outline->points[j].x - delta_x, outline->points[j].y - delta_y, outline->points[j].x, outline->points[j].y )); count++; } #endif } #ifdef FT_DEBUG_LEVEL_TRACE if ( !count ) FT_TRACE7(( " none\n" )); #endif } else { #ifdef FT_DEBUG_LEVEL_TRACE int count = 0; #endif /* we have to interpolate the missing deltas similar to the */ /* IUP bytecode instruction */ for ( j = 0; j < n_points; j++ ) { has_delta[j] = FALSE; points_out[j] = points_org[j]; } for ( j = 0; j < point_count; j++ ) { FT_UShort idx = points[j]; if ( idx >= n_points ) continue; has_delta[idx] = TRUE; points_out[idx].x += FT_MulFix( deltas_x[j], apply ); points_out[idx].y += FT_MulFix( deltas_y[j], apply ); } /* no need to handle phantom points here, */ /* since solitary points can't be interpolated */ tt_interpolate_deltas( outline, points_out, points_org, has_delta ); FT_TRACE7(( " point deltas:\n" )); for ( j = 0; j < n_points; j++ ) { FT_Pos delta_x = points_out[j].x - points_org[j].x; FT_Pos delta_y = points_out[j].y - points_org[j].y; outline->points[j].x += delta_x; outline->points[j].y += delta_y; #ifdef FT_DEBUG_LEVEL_TRACE if ( delta_x || delta_y ) { FT_TRACE7(( " %d: (%d, %d) -> (%d, %d)\n", j, outline->points[j].x - delta_x, outline->points[j].y - delta_y, outline->points[j].x, outline->points[j].y )); count++; } #endif } #ifdef FT_DEBUG_LEVEL_TRACE if ( !count ) FT_TRACE7(( " none\n" )); #endif } if ( localpoints != ALL_POINTS ) FT_FREE( localpoints ); |
︙ | ︙ | |||
2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 | FT_FREE( im_start_coords ); FT_FREE( im_end_coords ); FT_FRAME_EXIT(); Fail1: FT_FREE( points_org ); FT_FREE( has_delta ); return error; } /*************************************************************************/ | > | 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 | FT_FREE( im_start_coords ); FT_FREE( im_end_coords ); FT_FRAME_EXIT(); Fail1: FT_FREE( points_org ); FT_FREE( points_out ); FT_FREE( has_delta ); return error; } /*************************************************************************/ |
︙ | ︙ |
Changes to jni/freetype/src/truetype/ttinterp.c.
︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <ft2build.h> #include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_CALC_H #include FT_TRIGONOMETRY_H #include FT_SYSTEM_H #include FT_TRUETYPE_DRIVER_H #include "ttinterp.h" #include "tterrors.h" #include "ttsubpix.h" #ifdef TT_USE_BYTECODE_INTERPRETER /*************************************************************************/ /* */ | > > > > | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <ft2build.h> #include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_CALC_H #include FT_TRIGONOMETRY_H #include FT_SYSTEM_H #include FT_TRUETYPE_DRIVER_H #include FT_MULTIPLE_MASTERS_H #include "ttinterp.h" #include "tterrors.h" #include "ttsubpix.h" #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT #include "ttgxvar.h" #endif #ifdef TT_USE_BYTECODE_INTERPRETER /*************************************************************************/ /* */ |
︙ | ︙ | |||
392 393 394 395 396 397 398 399 400 401 402 403 404 405 | { exec->numFDefs = size->num_function_defs; exec->maxFDefs = size->max_function_defs; exec->numIDefs = size->num_instruction_defs; exec->maxIDefs = size->max_instruction_defs; exec->FDefs = size->function_defs; exec->IDefs = size->instruction_defs; exec->tt_metrics = size->ttmetrics; exec->metrics = size->metrics; exec->maxFunc = size->max_func; exec->maxIns = size->max_ins; for ( i = 0; i < TT_MAX_CODE_RANGES; i++ ) | > | 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 | { exec->numFDefs = size->num_function_defs; exec->maxFDefs = size->max_function_defs; exec->numIDefs = size->num_instruction_defs; exec->maxIDefs = size->max_instruction_defs; exec->FDefs = size->function_defs; exec->IDefs = size->instruction_defs; exec->pointSize = size->point_size; exec->tt_metrics = size->ttmetrics; exec->metrics = size->metrics; exec->maxFunc = size->max_func; exec->maxIns = size->max_ins; for ( i = 0; i < TT_MAX_CODE_RANGES; i++ ) |
︙ | ︙ | |||
677 678 679 680 681 682 683 | /* FDEF */ PACK( 1, 0 ), /* ENDF */ PACK( 0, 0 ), /* MDAP[0] */ PACK( 1, 0 ), /* MDAP[1] */ PACK( 1, 0 ), /* IUP[0] */ PACK( 0, 0 ), /* IUP[1] */ PACK( 0, 0 ), | | | | | | | 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 | /* FDEF */ PACK( 1, 0 ), /* ENDF */ PACK( 0, 0 ), /* MDAP[0] */ PACK( 1, 0 ), /* MDAP[1] */ PACK( 1, 0 ), /* IUP[0] */ PACK( 0, 0 ), /* IUP[1] */ PACK( 0, 0 ), /* SHP[0] */ PACK( 0, 0 ), /* loops */ /* SHP[1] */ PACK( 0, 0 ), /* loops */ /* SHC[0] */ PACK( 1, 0 ), /* SHC[1] */ PACK( 1, 0 ), /* SHZ[0] */ PACK( 1, 0 ), /* SHZ[1] */ PACK( 1, 0 ), /* SHPIX */ PACK( 1, 0 ), /* loops */ /* IP */ PACK( 0, 0 ), /* loops */ /* MSIRP[0] */ PACK( 2, 0 ), /* MSIRP[1] */ PACK( 2, 0 ), /* AlignRP */ PACK( 0, 0 ), /* loops */ /* RTDG */ PACK( 0, 0 ), /* MIAP[0] */ PACK( 2, 0 ), /* MIAP[1] */ PACK( 2, 0 ), /* NPushB */ PACK( 0, 0 ), /* NPushW */ PACK( 0, 0 ), /* WS */ PACK( 2, 0 ), |
︙ | ︙ | |||
760 761 762 763 764 765 766 | /* ROFF */ PACK( 0, 0 ), /* INS_$7B */ PACK( 0, 0 ), /* RUTG */ PACK( 0, 0 ), /* RDTG */ PACK( 0, 0 ), /* SANGW */ PACK( 1, 0 ), /* AA */ PACK( 1, 0 ), | | | | | 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 | /* ROFF */ PACK( 0, 0 ), /* INS_$7B */ PACK( 0, 0 ), /* RUTG */ PACK( 0, 0 ), /* RDTG */ PACK( 0, 0 ), /* SANGW */ PACK( 1, 0 ), /* AA */ PACK( 1, 0 ), /* FlipPT */ PACK( 0, 0 ), /* loops */ /* FlipRgON */ PACK( 2, 0 ), /* FlipRgOFF */ PACK( 2, 0 ), /* INS_$83 */ PACK( 0, 0 ), /* INS_$84 */ PACK( 0, 0 ), /* ScanCTRL */ PACK( 1, 0 ), /* SDPvTL[0] */ PACK( 2, 0 ), /* SDPvTL[1] */ PACK( 2, 0 ), /* GetINFO */ PACK( 1, 1 ), /* IDEF */ PACK( 1, 0 ), /* ROLL */ PACK( 3, 3 ), /* MAX */ PACK( 2, 1 ), /* MIN */ PACK( 2, 1 ), /* ScanTYPE */ PACK( 1, 0 ), /* InstCTRL */ PACK( 2, 0 ), /* INS_$8F */ PACK( 0, 0 ), /* INS_$90 */ PACK( 0, 0 ), /* GETVAR */ PACK( 0, 0 ), /* will be handled specially */ /* GETDATA */ PACK( 0, 1 ), /* INS_$93 */ PACK( 0, 0 ), /* INS_$94 */ PACK( 0, 0 ), /* INS_$95 */ PACK( 0, 0 ), /* INS_$96 */ PACK( 0, 0 ), /* INS_$97 */ PACK( 0, 0 ), /* INS_$98 */ PACK( 0, 0 ), /* INS_$99 */ PACK( 0, 0 ), |
︙ | ︙ | |||
1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 | "3 MAX", "3 MIN", "8 ScanTYPE", "8 InstCTRL", "7 INS_$8F", "7 INS_$90", "7 INS_$91", "7 INS_$92", "7 INS_$93", "7 INS_$94", "7 INS_$95", "7 INS_$96", "7 INS_$97", "7 INS_$98", "7 INS_$99", | > > > > > | 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 | "3 MAX", "3 MIN", "8 ScanTYPE", "8 InstCTRL", "7 INS_$8F", "7 INS_$90", #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT "6 GETVAR", "7 GETDATA", #else "7 INS_$91", "7 INS_$92", #endif "7 INS_$93", "7 INS_$94", "7 INS_$95", "7 INS_$96", "7 INS_$97", "7 INS_$98", "7 INS_$99", |
︙ | ︙ | |||
2570 2571 2572 2573 2574 2575 2576 | /* Opcode range: 0x4C */ /* Stack: --> Euint16 */ /* */ static void Ins_MPS( TT_ExecContext exc, FT_Long* args ) { | | > > | < | > | > > > > > | < > | 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 | /* Opcode range: 0x4C */ /* Stack: --> Euint16 */ /* */ static void Ins_MPS( TT_ExecContext exc, FT_Long* args ) { if ( NO_SUBPIXEL_HINTING ) { /* Microsoft's GDI bytecode interpreter always returns value 12; */ /* we return the current PPEM value instead. */ args[0] = exc->func_cur_ppem( exc ); } else { /* A possible practical application of the MPS instruction is to */ /* implement optical scaling and similar features, which should be */ /* based on perceptual attributes, thus independent of the */ /* resolution. */ args[0] = exc->pointSize; } } /*************************************************************************/ /* */ /* DUP[]: DUPlicate the stack's top element */ /* Opcode range: 0x20 */ |
︙ | ︙ | |||
2869 2870 2871 2872 2873 2874 2875 | } /*************************************************************************/ /* */ /* NEG[]: NEGate */ /* Opcode range: 0x65 */ | | | 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 | } /*************************************************************************/ /* */ /* NEG[]: NEGate */ /* Opcode range: 0x65 */ /* Stack: f26.6 --> f26.6 */ /* */ static void Ins_NEG( FT_Long* args ) { args[0] = -args[0]; } |
︙ | ︙ | |||
3109 3110 3111 3112 3113 3114 3115 | exc->tt_metrics.compensations[exc->opcode - 0x6C] ); } /*************************************************************************/ /* */ /* MAX[]: MAXimum */ | | | | 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 | exc->tt_metrics.compensations[exc->opcode - 0x6C] ); } /*************************************************************************/ /* */ /* MAX[]: MAXimum */ /* Opcode range: 0x8B */ /* Stack: int32? int32? --> int32 */ /* */ static void Ins_MAX( FT_Long* args ) { if ( args[1] > args[0] ) args[0] = args[1]; } /*************************************************************************/ /* */ /* MIN[]: MINimum */ /* Opcode range: 0x8C */ /* Stack: int32? int32? --> int32 */ /* */ static void Ins_MIN( FT_Long* args ) { if ( args[1] < args[0] ) args[0] = args[1]; |
︙ | ︙ | |||
3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 | switch ( exc->opcode ) { case 0x89: /* IDEF */ case 0x2C: /* FDEF */ exc->error = FT_THROW( Nested_DEFS ); return; case 0x2D: /* ENDF */ return; } } } /*************************************************************************/ | > | 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 | switch ( exc->opcode ) { case 0x89: /* IDEF */ case 0x2C: /* FDEF */ exc->error = FT_THROW( Nested_DEFS ); return; case 0x2D: /* ENDF */ def->end = exc->IP; return; } } } /*************************************************************************/ |
︙ | ︙ | |||
4481 4482 4483 4484 4485 4486 4487 | } /*************************************************************************/ /* */ /* FLIPOFF[]: Set auto-FLIP to OFF */ /* Opcode range: 0x4E */ | | | 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 | } /*************************************************************************/ /* */ /* FLIPOFF[]: Set auto-FLIP to OFF */ /* Opcode range: 0x4E */ /* Stack: --> */ /* */ static void Ins_FLIPOFF( TT_ExecContext exc ) { exc->GS.auto_flip = FALSE; } |
︙ | ︙ | |||
6084 6085 6086 6087 6088 6089 6090 | #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY if ( SUBPIXEL_HINTING_INFINALITY && exc->ignore_x_mode && exc->GS.freeVector.x != 0 && !( exc->sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND ) ) control_value_cutin = minimum_distance = 0; | < | 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 | #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY if ( SUBPIXEL_HINTING_INFINALITY && exc->ignore_x_mode && exc->GS.freeVector.x != 0 && !( exc->sph_tweak_flags & SPH_TWEAK_NORMAL_ROUND ) ) control_value_cutin = minimum_distance = 0; #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ /* XXX: UNDOCUMENTED! cvt[-1] = 0 always */ if ( BOUNDS( point, exc->zp1.n_points ) || BOUNDSL( cvtEntry, exc->cvtSize + 1 ) || BOUNDS( exc->GS.rp0, exc->zp0.n_points ) ) |
︙ | ︙ | |||
7224 7225 7226 7227 7228 7229 7230 | /********************************/ /* GLYPH ROTATED */ /* Selector Bit: 1 */ /* Return Bit(s): 8 */ /* */ if ( ( args[0] & 2 ) != 0 && exc->tt_metrics.rotated ) | | | > > > > > > > > > > > | 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 | /********************************/ /* GLYPH ROTATED */ /* Selector Bit: 1 */ /* Return Bit(s): 8 */ /* */ if ( ( args[0] & 2 ) != 0 && exc->tt_metrics.rotated ) K |= 1 << 8; /********************************/ /* GLYPH STRETCHED */ /* Selector Bit: 2 */ /* Return Bit(s): 9 */ /* */ if ( ( args[0] & 4 ) != 0 && exc->tt_metrics.stretched ) K |= 1 << 9; #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT /********************************/ /* VARIATION GLYPH */ /* Selector Bit: 3 */ /* Return Bit(s): 10 */ /* */ /* XXX: UNDOCUMENTED! */ if ( (args[0] & 8 ) != 0 && exc->face->blend ) K |= 1 << 10; #endif /********************************/ /* BI-LEVEL HINTING AND */ /* GRAYSCALE RENDERING */ /* Selector Bit: 5 */ /* Return Bit(s): 12 */ /* */ |
︙ | ︙ | |||
7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 | } #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ args[0] = K; } static void Ins_UNKNOWN( TT_ExecContext exc ) { TT_DefRecord* def = exc->IDefs; TT_DefRecord* limit = def + exc->numIDefs; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 | } #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ args[0] = K; } #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT /*************************************************************************/ /* */ /* GETVARIATION[]: get normalized variation (blend) coordinates */ /* Opcode range: 0x91 */ /* Stack: --> f2.14... */ /* */ /* XXX: UNDOCUMENTED! There is no official documentation from Apple for */ /* this bytecode instruction. Active only if a font has GX */ /* variation axes. */ /* */ static void Ins_GETVARIATION( TT_ExecContext exc, FT_Long* args ) { FT_UInt num_axes = exc->face->blend->num_axis; FT_Fixed* coords = exc->face->blend->normalizedcoords; FT_UInt i; if ( BOUNDS( num_axes, exc->stackSize + 1 - exc->top ) ) { exc->error = FT_THROW( Stack_Overflow ); return; } for ( i = 0; i < num_axes; i++ ) args[i] = coords[i] >> 2; /* convert 16.16 to 2.14 format */ } /*************************************************************************/ /* */ /* GETDATA[]: no idea what this is good for */ /* Opcode range: 0x92 */ /* Stack: --> 17 */ /* */ /* XXX: UNDOCUMENTED! There is no documentation from Apple for this */ /* very weird bytecode instruction. */ /* */ static void Ins_GETDATA( FT_Long* args ) { args[0] = 17; } #endif /* TT_CONFIG_OPTION_GX_VAR_SUPPORT */ static void Ins_UNKNOWN( TT_ExecContext exc ) { TT_DefRecord* def = exc->IDefs; TT_DefRecord* limit = def + exc->numIDefs; |
︙ | ︙ | |||
7562 7563 7564 7565 7566 7567 7568 | /* push zeroes onto the stack */ for ( i = 0; i < Pop_Push_Count[exc->opcode] >> 4; i++ ) exc->stack[i] = 0; exc->args = 0; } | > > > > > > > > > > > > > > | | 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 | /* push zeroes onto the stack */ for ( i = 0; i < Pop_Push_Count[exc->opcode] >> 4; i++ ) exc->stack[i] = 0; exc->args = 0; } #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT if ( exc->opcode == 0x91 ) { /* this is very special: GETVARIATION returns */ /* a variable number of arguments */ /* it is the job of the application to `activate' GX handling, */ /* this is, calling any of the GX API functions on the current */ /* font to select a variation instance */ if ( exc->face->blend ) exc->new_top = exc->args + exc->face->blend->num_axis; } else #endif exc->new_top = exc->args + ( Pop_Push_Count[exc->opcode] & 15 ); /* `new_top' is the new top of the stack, after the instruction's */ /* execution. `top' will be set to `new_top' after the `switch' */ /* statement. */ if ( exc->new_top > exc->stackSize ) { exc->error = FT_THROW( Stack_Overflow ); |
︙ | ︙ | |||
7755 7756 7757 7758 7759 7760 7761 | Ins_MINDEX( exc, args ); break; case 0x27: /* ALIGNPTS */ Ins_ALIGNPTS( exc, args ); break; | | | 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 | Ins_MINDEX( exc, args ); break; case 0x27: /* ALIGNPTS */ Ins_ALIGNPTS( exc, args ); break; case 0x28: /* RAW */ Ins_UNKNOWN( exc ); break; case 0x29: /* UTP */ Ins_UTP( exc, args ); break; |
︙ | ︙ | |||
8107 8108 8109 8110 8111 8112 8113 | Ins_SCANTYPE( exc, args ); break; case 0x8E: /* INSTCTRL */ Ins_INSTCTRL( exc, args ); break; | | > > > > > > > > > > > > > > > > > > > > > > > | 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 | Ins_SCANTYPE( exc, args ); break; case 0x8E: /* INSTCTRL */ Ins_INSTCTRL( exc, args ); break; case 0x8F: /* ADJUST */ case 0x90: /* ADJUST */ Ins_UNKNOWN( exc ); break; #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT case 0x91: /* it is the job of the application to `activate' GX handling, */ /* this is, calling any of the GX API functions on the current */ /* font to select a variation instance */ if ( exc->face->blend ) Ins_GETVARIATION( exc, args ); else Ins_UNKNOWN( exc ); break; case 0x92: /* there is at least one MS font (LaoUI.ttf version 5.01) that */ /* uses IDEFs for 0x91 and 0x92; for this reason we activate */ /* GETDATA for GX fonts only, similar to GETVARIATION */ if ( exc->face->blend ) Ins_GETDATA( args ); else Ins_UNKNOWN( exc ); break; #endif default: if ( opcode >= 0xE0 ) Ins_MIRP( exc, args ); else if ( opcode >= 0xC0 ) Ins_MDRP( exc, args ); else if ( opcode >= 0xB8 ) |
︙ | ︙ |
Changes to jni/freetype/src/truetype/ttinterp.h.
︙ | ︙ | |||
166 167 168 169 170 171 172 173 174 175 176 177 178 179 | TT_GlyphZoneRec zp0, /* zone records */ zp1, zp2, pts, twilight; FT_Size_Metrics metrics; TT_Size_Metrics tt_metrics; /* size metrics */ TT_GraphicsState GS; /* current graphics state */ FT_Int curRange; /* current code range number */ FT_Byte* code; /* current code range */ | > | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | TT_GlyphZoneRec zp0, /* zone records */ zp1, zp2, pts, twilight; FT_Long pointSize; /* in 26.6 format */ FT_Size_Metrics metrics; TT_Size_Metrics tt_metrics; /* size metrics */ TT_GraphicsState GS; /* current graphics state */ FT_Int curRange; /* current code range number */ FT_Byte* code; /* current code range */ |
︙ | ︙ |
Changes to jni/freetype/src/truetype/ttobjs.h.
︙ | ︙ | |||
281 282 283 284 285 286 287 288 289 290 291 292 293 294 | FT_Size_Metrics metrics; TT_Size_Metrics ttmetrics; FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */ #ifdef TT_USE_BYTECODE_INTERPRETER FT_UInt num_function_defs; /* number of function definitions */ FT_UInt max_function_defs; TT_DefArray function_defs; /* table of function definitions */ FT_UInt num_instruction_defs; /* number of ins. definitions */ FT_UInt max_instruction_defs; | > > | 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | FT_Size_Metrics metrics; TT_Size_Metrics ttmetrics; FT_ULong strike_index; /* 0xFFFFFFFF to indicate invalid */ #ifdef TT_USE_BYTECODE_INTERPRETER FT_Long point_size; /* for the `MPS' bytecode instruction */ FT_UInt num_function_defs; /* number of function definitions */ FT_UInt max_function_defs; TT_DefArray function_defs; /* table of function definitions */ FT_UInt num_instruction_defs; /* number of ins. definitions */ FT_UInt max_instruction_defs; |
︙ | ︙ |
Changes to jni/freetype/src/type1/t1load.c.
︙ | ︙ | |||
317 318 319 320 321 322 323 | if ( FT_ALLOC( mmvar, sizeof ( FT_MM_Var ) + mmaster.num_axis * sizeof ( FT_Var_Axis ) ) ) goto Exit; mmvar->num_axis = mmaster.num_axis; mmvar->num_designs = mmaster.num_designs; | | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | if ( FT_ALLOC( mmvar, sizeof ( FT_MM_Var ) + mmaster.num_axis * sizeof ( FT_Var_Axis ) ) ) goto Exit; mmvar->num_axis = mmaster.num_axis; mmvar->num_designs = mmaster.num_designs; mmvar->num_namedstyles = 0; /* Not supported */ mmvar->axis = (FT_Var_Axis*)&mmvar[1]; /* Point to axes after MM_Var struct */ mmvar->namedstyle = NULL; for ( i = 0; i < mmaster.num_axis; ++i ) { mmvar->axis[i].name = mmaster.axis[i].name; |
︙ | ︙ | |||
1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 | error = T1_Add_Table( code_table, n, base, size ); if ( error ) goto Fail; n++; } } loader->num_glyphs = n; /* if /.notdef is found but does not occupy index 0, do our magic. */ if ( notdef_found && ft_strcmp( ".notdef", (const char*)name_table->elements[0] ) ) { | > > > > > > | 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 | error = T1_Add_Table( code_table, n, base, size ); if ( error ) goto Fail; n++; } } if ( !n ) { error = FT_THROW( Invalid_File_Format ); goto Fail; } loader->num_glyphs = n; /* if /.notdef is found but does not occupy index 0, do our magic. */ if ( notdef_found && ft_strcmp( ".notdef", (const char*)name_table->elements[0] ) ) { |
︙ | ︙ |
Changes to jni/freetype/src/type42/t42drivr.c.
︙ | ︙ | |||
77 78 79 80 81 82 83 | for ( i = 0; i < face->type1.num_glyphs; i++ ) { FT_String* gname = face->type1.glyph_names[i]; if ( glyph_name[0] == gname[0] && !ft_strcmp( glyph_name, gname ) ) | | > | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | for ( i = 0; i < face->type1.num_glyphs; i++ ) { FT_String* gname = face->type1.glyph_names[i]; if ( glyph_name[0] == gname[0] && !ft_strcmp( glyph_name, gname ) ) return (FT_UInt)ft_strtol( (const char *)face->type1.charstrings[i], NULL, 10 ); } return 0; } static const FT_Service_GlyphDictRec t42_service_glyph_dict = |
︙ | ︙ |
Changes to jni/freetype/src/type42/t42objs.c.
︙ | ︙ | |||
652 653 654 655 656 657 658 | T42_Face t42face = (T42_Face)size->face; FT_Driver_Class ttclazz = ((T42_Driver)glyph->face->driver)->ttclazz; FT_TRACE1(( "T42_GlyphSlot_Load: glyph index %d\n", glyph_index )); /* map T42 glyph index to embedded TTF's glyph index */ | | | > | 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 | T42_Face t42face = (T42_Face)size->face; FT_Driver_Class ttclazz = ((T42_Driver)glyph->face->driver)->ttclazz; FT_TRACE1(( "T42_GlyphSlot_Load: glyph index %d\n", glyph_index )); /* map T42 glyph index to embedded TTF's glyph index */ glyph_index = (FT_UInt)ft_strtol( (const char *)t42face->type1.charstrings[glyph_index], NULL, 10 ); t42_glyphslot_clear( t42slot->ttslot ); error = ttclazz->load_glyph( t42slot->ttslot, t42size->ttsize, glyph_index, load_flags | FT_LOAD_NO_BITMAP ); |
︙ | ︙ |
Changes to jni/freetype/src/winfonts/winfnt.c.
︙ | ︙ | |||
754 755 756 757 758 759 760 761 762 763 764 765 766 767 | if ( face_index > 0 ) error = FT_THROW( Invalid_Argument ); } } if ( error ) goto Fail; /* we now need to fill the root FT_Face fields */ /* with relevant information */ { FT_Face root = FT_FACE( face ); FNT_Font font = face->font; FT_ULong family_size; | > > > > > > > > | 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 | if ( face_index > 0 ) error = FT_THROW( Invalid_Argument ); } } if ( error ) goto Fail; /* sanity check */ if ( !face->font->header.pixel_height ) { FT_TRACE2(( "invalid pixel height\n" )); error = FT_THROW( Invalid_File_Format ); goto Fail; } /* we now need to fill the root FT_Face fields */ /* with relevant information */ { FT_Face root = FT_FACE( face ); FNT_Font font = face->font; FT_ULong family_size; |
︙ | ︙ | |||
1058 1059 1060 1061 1062 1063 1064 | FT_Byte* write; bitmap->pitch = (int)pitch; bitmap->rows = font->header.pixel_height; bitmap->pixel_mode = FT_PIXEL_MODE_MONO; | > | | 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 | FT_Byte* write; bitmap->pitch = (int)pitch; bitmap->rows = font->header.pixel_height; bitmap->pixel_mode = FT_PIXEL_MODE_MONO; if ( !pitch || offset + pitch * bitmap->rows > font->header.file_size ) { FT_TRACE2(( "invalid bitmap width\n" )); error = FT_THROW( Invalid_File_Format ); goto Exit; } /* note: since glyphs are stored in columns and not in rows we */ |
︙ | ︙ |