| OLD | NEW |
| 1 #ifndef __DEFINED__SkPdfFontDescriptorDictionary | 1 #ifndef __DEFINED__SkPdfFontDescriptorDictionary |
| 2 #define __DEFINED__SkPdfFontDescriptorDictionary | 2 #define __DEFINED__SkPdfFontDescriptorDictionary |
| 3 | 3 |
| 4 #include "SkPdfUtils.h" | 4 #include "SkPdfUtils.h" |
| 5 #include "SkPdfEnums_autogen.h" | 5 #include "SkPdfEnums_autogen.h" |
| 6 #include "SkPdfArray_autogen.h" | 6 #include "SkPdfArray_autogen.h" |
| 7 #include "SkPdfDictionary_autogen.h" | 7 #include "SkPdfDictionary_autogen.h" |
| 8 | 8 |
| 9 // Entries common to all font descriptors | 9 // Entries common to all font descriptors |
| 10 class SkPdfFontDescriptorDictionary : public SkPdfDictionary { | 10 class SkPdfFontDescriptorDictionary : public SkPdfDictionary { |
| (...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 525 | 525 |
| 526 SkPdfFontDescriptorDictionary& operator=(const SkPdfFontDescriptorDictionary&
from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; r
eturn *this;} | 526 SkPdfFontDescriptorDictionary& operator=(const SkPdfFontDescriptorDictionary&
from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; r
eturn *this;} |
| 527 | 527 |
| 528 /** (Required) The type of PDF object that this dictionary describes; must be | 528 /** (Required) The type of PDF object that this dictionary describes; must be |
| 529 * FontDescriptor for a font descriptor. | 529 * FontDescriptor for a font descriptor. |
| 530 **/ | 530 **/ |
| 531 bool has_Type() const { | 531 bool has_Type() const { |
| 532 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type"
, "", NULL)); | 532 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type"
, "", NULL)); |
| 533 } | 533 } |
| 534 | 534 |
| 535 std::string Type() const { | 535 std::string Type() const; |
| 536 std::string ret; | |
| 537 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "",
&ret)) return ret; | |
| 538 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 539 return ""; | |
| 540 } | |
| 541 | |
| 542 /** (Required) The PostScript name of the font. This should be the same as the | 536 /** (Required) The PostScript name of the font. This should be the same as the |
| 543 * value of BaseFont in the font or CIDFont dictionary that refers to this font | 537 * value of BaseFont in the font or CIDFont dictionary that refers to this font |
| 544 * descriptor. | 538 * descriptor. |
| 545 **/ | 539 **/ |
| 546 bool has_FontName() const { | 540 bool has_FontName() const { |
| 547 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontN
ame", "", NULL)); | 541 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontN
ame", "", NULL)); |
| 548 } | 542 } |
| 549 | 543 |
| 550 std::string FontName() const { | 544 std::string FontName() const; |
| 551 std::string ret; | |
| 552 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontName",
"", &ret)) return ret; | |
| 553 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 554 return ""; | |
| 555 } | |
| 556 | |
| 557 /** (Required) A collection of flags defining various characteristics of the fon
t | 545 /** (Required) A collection of flags defining various characteristics of the fon
t |
| 558 * (see Section 5.7.1, "Font Descriptor Flags"). | 546 * (see Section 5.7.1, "Font Descriptor Flags"). |
| 559 **/ | 547 **/ |
| 560 bool has_Flags() const { | 548 bool has_Flags() const { |
| 561 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Flags
", "", NULL)); | 549 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Flags
", "", NULL)); |
| 562 } | 550 } |
| 563 | 551 |
| 564 long Flags() const { | 552 long Flags() const; |
| 565 long ret; | |
| 566 if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Flags", "",
&ret)) return ret; | |
| 567 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 568 return 0; | |
| 569 } | |
| 570 | |
| 571 /** (Required) A rectangle (see Section 3.8.3, "Rectangles"), expressed in the | 553 /** (Required) A rectangle (see Section 3.8.3, "Rectangles"), expressed in the |
| 572 * glyph coordinate system, specifying the font bounding box. This is the small
- | 554 * glyph coordinate system, specifying the font bounding box. This is the small
- |
| 573 * est rectangle enclosing the shape that would result if all of the glyphs of
the | 555 * est rectangle enclosing the shape that would result if all of the glyphs of
the |
| 574 * font were placed with their origins coincident and then filled. | 556 * font were placed with their origins coincident and then filled. |
| 575 **/ | 557 **/ |
| 576 bool has_FontBBox() const { | 558 bool has_FontBBox() const { |
| 577 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontB
Box", "", NULL)); | 559 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontB
Box", "", NULL)); |
| 578 } | 560 } |
| 579 | 561 |
| 580 SkRect* FontBBox() const { | 562 SkRect* FontBBox() const; |
| 581 SkRect* ret; | |
| 582 if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontBBox"
, "", &ret)) return ret; | |
| 583 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 584 return NULL; | |
| 585 } | |
| 586 | |
| 587 /** (Required) The angle, expressed in degrees counterclockwise from the verti- | 563 /** (Required) The angle, expressed in degrees counterclockwise from the verti- |
| 588 * cal, of the dominant vertical strokes of the font. (For example, the 9-o'clo
ck | 564 * cal, of the dominant vertical strokes of the font. (For example, the 9-o'clo
ck |
| 589 * position is 90 degrees, and the 3-o'clock position is '90 degrees.) The valu
e is | 565 * position is 90 degrees, and the 3-o'clock position is '90 degrees.) The valu
e is |
| 590 * negative for fonts that slope to the right, as almost all italic fonts do. | 566 * negative for fonts that slope to the right, as almost all italic fonts do. |
| 591 **/ | 567 **/ |
| 592 bool has_ItalicAngle() const { | 568 bool has_ItalicAngle() const { |
| 593 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Itali
cAngle", "", NULL)); | 569 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Itali
cAngle", "", NULL)); |
| 594 } | 570 } |
| 595 | 571 |
| 596 double ItalicAngle() const { | 572 double ItalicAngle() const; |
| 597 double ret; | |
| 598 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ItalicAng
le", "", &ret)) return ret; | |
| 599 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 600 return 0; | |
| 601 } | |
| 602 | |
| 603 /** (Required) The maximum height above the baseline reached by glyphs in this | 573 /** (Required) The maximum height above the baseline reached by glyphs in this |
| 604 * font, excluding the height of glyphs for accented characters. | 574 * font, excluding the height of glyphs for accented characters. |
| 605 **/ | 575 **/ |
| 606 bool has_Ascent() const { | 576 bool has_Ascent() const { |
| 607 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ascen
t", "", NULL)); | 577 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ascen
t", "", NULL)); |
| 608 } | 578 } |
| 609 | 579 |
| 610 double Ascent() const { | 580 double Ascent() const; |
| 611 double ret; | |
| 612 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ascent",
"", &ret)) return ret; | |
| 613 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 614 return 0; | |
| 615 } | |
| 616 | |
| 617 /** (Required) The maximum depth below the baseline reached by glyphs in this | 581 /** (Required) The maximum depth below the baseline reached by glyphs in this |
| 618 * font. The value is a negative number. | 582 * font. The value is a negative number. |
| 619 **/ | 583 **/ |
| 620 bool has_Descent() const { | 584 bool has_Descent() const { |
| 621 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Desce
nt", "", NULL)); | 585 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Desce
nt", "", NULL)); |
| 622 } | 586 } |
| 623 | 587 |
| 624 double Descent() const { | 588 double Descent() const; |
| 625 double ret; | |
| 626 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Descent",
"", &ret)) return ret; | |
| 627 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 628 return 0; | |
| 629 } | |
| 630 | |
| 631 /** (Optional) The desired spacing between baselines of consecutive lines of tex
t. | 589 /** (Optional) The desired spacing between baselines of consecutive lines of tex
t. |
| 632 * Default value: 0. | 590 * Default value: 0. |
| 633 **/ | 591 **/ |
| 634 bool has_Leading() const { | 592 bool has_Leading() const { |
| 635 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Leadi
ng", "", NULL)); | 593 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Leadi
ng", "", NULL)); |
| 636 } | 594 } |
| 637 | 595 |
| 638 double Leading() const { | 596 double Leading() const; |
| 639 double ret; | |
| 640 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Leading",
"", &ret)) return ret; | |
| 641 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 642 return 0; | |
| 643 } | |
| 644 | |
| 645 /** (Required) The vertical coordinate of the top of flat capital letters, measu
red | 597 /** (Required) The vertical coordinate of the top of flat capital letters, measu
red |
| 646 * from the baseline. | 598 * from the baseline. |
| 647 **/ | 599 **/ |
| 648 bool has_CapHeight() const { | 600 bool has_CapHeight() const { |
| 649 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CapHe
ight", "", NULL)); | 601 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CapHe
ight", "", NULL)); |
| 650 } | 602 } |
| 651 | 603 |
| 652 double CapHeight() const { | 604 double CapHeight() const; |
| 653 double ret; | |
| 654 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CapHeight
", "", &ret)) return ret; | |
| 655 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 656 return 0; | |
| 657 } | |
| 658 | |
| 659 /** (Optional) The font's x height: the vertical coordinate of the top of flat n
on- | 605 /** (Optional) The font's x height: the vertical coordinate of the top of flat n
on- |
| 660 * ascending lowercase letters (like the letter x), measured from the baseline. | 606 * ascending lowercase letters (like the letter x), measured from the baseline. |
| 661 * Default value: 0. | 607 * Default value: 0. |
| 662 **/ | 608 **/ |
| 663 bool has_XHeight() const { | 609 bool has_XHeight() const { |
| 664 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "XHeig
ht", "", NULL)); | 610 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "XHeig
ht", "", NULL)); |
| 665 } | 611 } |
| 666 | 612 |
| 667 double XHeight() const { | 613 double XHeight() const; |
| 668 double ret; | |
| 669 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "XHeight",
"", &ret)) return ret; | |
| 670 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 671 return 0; | |
| 672 } | |
| 673 | |
| 674 /** (Required) The thickness, measured horizontally, of the dominant vertical | 614 /** (Required) The thickness, measured horizontally, of the dominant vertical |
| 675 * stems of glyphs in the font. | 615 * stems of glyphs in the font. |
| 676 **/ | 616 **/ |
| 677 bool has_StemV() const { | 617 bool has_StemV() const { |
| 678 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemV
", "", NULL)); | 618 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemV
", "", NULL)); |
| 679 } | 619 } |
| 680 | 620 |
| 681 double StemV() const { | 621 double StemV() const; |
| 682 double ret; | |
| 683 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemV", "
", &ret)) return ret; | |
| 684 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 685 return 0; | |
| 686 } | |
| 687 | |
| 688 /** (Optional) The thickness, measured invertically, of the dominant horizontal | 622 /** (Optional) The thickness, measured invertically, of the dominant horizontal |
| 689 * stems of glyphs in the font. Default value: 0. | 623 * stems of glyphs in the font. Default value: 0. |
| 690 **/ | 624 **/ |
| 691 bool has_StemH() const { | 625 bool has_StemH() const { |
| 692 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemH
", "", NULL)); | 626 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemH
", "", NULL)); |
| 693 } | 627 } |
| 694 | 628 |
| 695 double StemH() const { | 629 double StemH() const; |
| 696 double ret; | |
| 697 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemH", "
", &ret)) return ret; | |
| 698 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 699 return 0; | |
| 700 } | |
| 701 | |
| 702 /** (Optional) The average width of glyphs in the font. Default value: 0. | 630 /** (Optional) The average width of glyphs in the font. Default value: 0. |
| 703 **/ | 631 **/ |
| 704 bool has_AvgWidth() const { | 632 bool has_AvgWidth() const { |
| 705 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AvgWi
dth", "", NULL)); | 633 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AvgWi
dth", "", NULL)); |
| 706 } | 634 } |
| 707 | 635 |
| 708 double AvgWidth() const { | 636 double AvgWidth() const; |
| 709 double ret; | |
| 710 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AvgWidth"
, "", &ret)) return ret; | |
| 711 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 712 return 0; | |
| 713 } | |
| 714 | |
| 715 /** (Optional) The maximum width of glyphs in the font. Default value: 0. | 637 /** (Optional) The maximum width of glyphs in the font. Default value: 0. |
| 716 **/ | 638 **/ |
| 717 bool has_MaxWidth() const { | 639 bool has_MaxWidth() const { |
| 718 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MaxWi
dth", "", NULL)); | 640 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MaxWi
dth", "", NULL)); |
| 719 } | 641 } |
| 720 | 642 |
| 721 double MaxWidth() const { | 643 double MaxWidth() const; |
| 722 double ret; | |
| 723 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MaxWidth"
, "", &ret)) return ret; | |
| 724 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 725 return 0; | |
| 726 } | |
| 727 | |
| 728 /** (Optional) The width to use for character codes whose widths are not speci- | 644 /** (Optional) The width to use for character codes whose widths are not speci- |
| 729 * fied in a font dictionary's Widths array. This has a predictable effect only
if all | 645 * fied in a font dictionary's Widths array. This has a predictable effect only
if all |
| 730 * such codes map to glyphs whose actual widths are the same as the Missing- | 646 * such codes map to glyphs whose actual widths are the same as the Missing- |
| 731 * Width value. Default value: 0. | 647 * Width value. Default value: 0. |
| 732 **/ | 648 **/ |
| 733 bool has_MissingWidth() const { | 649 bool has_MissingWidth() const { |
| 734 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Missi
ngWidth", "", NULL)); | 650 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Missi
ngWidth", "", NULL)); |
| 735 } | 651 } |
| 736 | 652 |
| 737 double MissingWidth() const { | 653 double MissingWidth() const; |
| 738 double ret; | |
| 739 if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MissingWi
dth", "", &ret)) return ret; | |
| 740 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 741 return 0; | |
| 742 } | |
| 743 | |
| 744 /** (Optional) A stream containing a Type 1 font program (see Section 5.8, | 654 /** (Optional) A stream containing a Type 1 font program (see Section 5.8, |
| 745 * "Embedded Font Programs"). | 655 * "Embedded Font Programs"). |
| 746 **/ | 656 **/ |
| 747 bool has_FontFile() const { | 657 bool has_FontFile() const { |
| 748 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontF
ile", "", NULL)); | 658 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontF
ile", "", NULL)); |
| 749 } | 659 } |
| 750 | 660 |
| 751 SkPdfStream* FontFile() const { | 661 SkPdfStream* FontFile() const; |
| 752 SkPdfStream* ret; | |
| 753 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile"
, "", &ret)) return ret; | |
| 754 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 755 return NULL; | |
| 756 } | |
| 757 | |
| 758 /** (Optional; PDF 1.1) A stream containing a TrueType font program (see Sec- | 662 /** (Optional; PDF 1.1) A stream containing a TrueType font program (see Sec- |
| 759 * tion 5.8, "Embedded Font Programs"). | 663 * tion 5.8, "Embedded Font Programs"). |
| 760 **/ | 664 **/ |
| 761 bool has_FontFile2() const { | 665 bool has_FontFile2() const { |
| 762 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontF
ile2", "", NULL)); | 666 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontF
ile2", "", NULL)); |
| 763 } | 667 } |
| 764 | 668 |
| 765 SkPdfStream* FontFile2() const { | 669 SkPdfStream* FontFile2() const; |
| 766 SkPdfStream* ret; | |
| 767 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile2
", "", &ret)) return ret; | |
| 768 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 769 return NULL; | |
| 770 } | |
| 771 | |
| 772 /** (Optional; PDF 1.2) A stream containing a font program other than Type 1 or | 670 /** (Optional; PDF 1.2) A stream containing a font program other than Type 1 or |
| 773 * TrueType. The format of the font program is specified by the Subtype entry | 671 * TrueType. The format of the font program is specified by the Subtype entry |
| 774 * in the stream dictionary (see Section 5.8, "Embedded Font Programs," and | 672 * in the stream dictionary (see Section 5.8, "Embedded Font Programs," and |
| 775 * implementation note 49 in Appendix H). | 673 * implementation note 49 in Appendix H). |
| 776 * At most, only one of the FontFile, FontFile2, and FontFile3 entries may be | 674 * At most, only one of the FontFile, FontFile2, and FontFile3 entries may be |
| 777 * present. | 675 * present. |
| 778 **/ | 676 **/ |
| 779 bool has_FontFile3() const { | 677 bool has_FontFile3() const { |
| 780 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontF
ile3", "", NULL)); | 678 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontF
ile3", "", NULL)); |
| 781 } | 679 } |
| 782 | 680 |
| 783 SkPdfStream* FontFile3() const { | 681 SkPdfStream* FontFile3() const; |
| 784 SkPdfStream* ret; | |
| 785 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile3
", "", &ret)) return ret; | |
| 786 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 787 return NULL; | |
| 788 } | |
| 789 | |
| 790 /** (Optional; meaningful only in Type 1 fonts; PDF 1.1) A string listing the ch
ar- | 682 /** (Optional; meaningful only in Type 1 fonts; PDF 1.1) A string listing the ch
ar- |
| 791 * acter names defined in a font subset. The names in this string must be in PD
F | 683 * acter names defined in a font subset. The names in this string must be in PD
F |
| 792 * syntax-that is, each name preceded by a slash (/). The names can appear in | 684 * syntax-that is, each name preceded by a slash (/). The names can appear in |
| 793 * any order. The name .notdef should be omitted; it is assumed to exist in the | 685 * any order. The name .notdef should be omitted; it is assumed to exist in the |
| 794 * font subset. If this entry is absent, the only indication of a font subset i
s the | 686 * font subset. If this entry is absent, the only indication of a font subset i
s the |
| 795 * subset tag in the FontName entry (see Section 5.5.3, "Font Subsets"). | 687 * subset tag in the FontName entry (see Section 5.5.3, "Font Subsets"). |
| 796 **/ | 688 **/ |
| 797 bool has_CharSet() const { | 689 bool has_CharSet() const { |
| 798 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CharS
et", "", NULL)); | 690 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CharS
et", "", NULL)); |
| 799 } | 691 } |
| 800 | 692 |
| 801 std::string CharSet() const { | 693 std::string CharSet() const; |
| 802 std::string ret; | |
| 803 if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CharSet",
"", &ret)) return ret; | |
| 804 // TODO(edisonn): warn about missing required field, assert for known good p
dfs | |
| 805 return ""; | |
| 806 } | |
| 807 | |
| 808 }; | 694 }; |
| 809 | 695 |
| 810 #endif // __DEFINED__SkPdfFontDescriptorDictionary | 696 #endif // __DEFINED__SkPdfFontDescriptorDictionary |
| OLD | NEW |