summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add alpha to PangoColorredo-attrsMatthias Clasen2022-02-1314-379/+95
| | | | | | Adapt all users. This drops the alpha attributes and alpha in markup, and adds alpha support to underlines, overlines and strikethroughs.
* CosmeticsMatthias Clasen2022-02-131-1/+0
|
* CosmeticsMatthias Clasen2022-02-131-23/+24
|
* CosmeticsMatthias Clasen2022-02-131-8/+8
|
* Add a line api to PangoRendererMatthias Clasen2022-02-134-246/+245
| | | | | This replaces and generalizes error underlines and lets us draw squiggly strikethroughs and overlines.
* More work on line stylesMatthias Clasen2022-02-139-83/+89
|
* Make strikethrough styledMatthias Clasen2022-02-138-42/+85
| | | | Support single and double styles for strikethrough.
* Rename PangoUnderline to PangoLineStyleMatthias Clasen2022-02-139-89/+60
|
* Split off and underline position attributeMatthias Clasen2022-02-139-27/+79
| | | | Make the 'low' positioning a separate attribute.
* Drop some underline variantsMatthias Clasen2022-02-136-33/+7
| | | | Make them always behave like _LINE.
* Change color attr apiMatthias Clasen2022-02-137-80/+46
| | | | | Make pango_attr_{fore,back}ground_new take a PangoColor*. Update all callers.
* TweaksMatthias Clasen2022-02-131-6/+77
|
* Rename pango_attribute_get_customMatthias Clasen2022-02-133-5/+5
|
* Add PangoAttrMerge flagsMatthias Clasen2022-02-135-59/+91
| | | | | This generalizes the behavior of PangoAttrIterator wrt to merging attributes with overlapping ranges.
* Add PangoAttrAffectsMatthias Clasen2022-02-135-135/+128
| | | | | | | Declare what part of the pipeline an attribute affects as part of the type. This lets us handle attribute filtering for that purpose in a generalized fashion.
* Split pango-attributes.[hc]Matthias Clasen2022-02-1321-2715/+3006
| | | | | | Split pango-attributes.[hc] into separate files for PangoAttribute, PangoAttrList, PangoAttrIterator, and the predefined attribute types.
* Redo attributesMatthias Clasen2022-02-1317-1303/+937
| | | | | | | Do away with PangoAttribute subclassing, and turn the PangoAttribute struct into a union. Redo custom attribute registration to be more useful.
* Drop shape attributesMatthias Clasen2022-02-1312-498/+19
| | | | | | Shape attributes don't fit well with the other attributes, and user fonts are a better way of doing custom glyphs.
* pango/pango-version-macros.h: Mention correct version check macroGuido Günther2022-02-131-1/+1
| | | | | Pango names it PANGO_VERSION_CHECK not PANGO_CHECK_VERSION (like glib). Fix the one incorrect mention in the documentation comment.
* testhbfont: update for generic familiesuserfontMatthias Clasen2022-02-131-7/+9
|
* Fix up non-user font shapingMatthias Clasen2022-02-131-3/+3
|
* Drop pango_hb_font_get_sizeMatthias Clasen2022-02-132-21/+1
| | | | If needed, this should be PangoFontFace api
* Share more code between hbface and userfaceMatthias Clasen2022-02-1315-323/+287
| | | | Move some things as private api into PangoFontFace.
* cairoshape: fixupMatthias Clasen2022-02-131-1/+1
|
* Add a userfont exampleMatthias Clasen2022-02-132-0/+358
| | | | | This is a more-or-less direct adaptation of the user-font test in cairo.
* cairoshape: Use a user fontMatthias Clasen2022-01-281-73/+175
|
* tests: AdaptMatthias Clasen2022-01-281-5/+5
|
* Implement coverage for user facesMatthias Clasen2022-01-283-2/+35
|
* Introduce user fontsMatthias Clasen2022-01-2824-142/+1583
| | | | | | | | Add a way to create callback-based faces and fonts. The cairo implementation of this uses cairos user fonts. New APIs: PangoUserFace and PangoUserFont
* test-itemize: Leave out faceidsimple-fontmapMatthias Clasen2022-01-281-0/+2
| | | | | | | | | | The faceid in the serialized font description would make the test output backend-dependent, so leave it out for now. This makes PANGOCAIRO_BACKEND=fc2 ./test-itemize succeed.
* Add PangoCoreTextHbFontMapMatthias Clasen2022-01-283-0/+495
| | | | | | This has not been seriously tested, but it compiles in ci, and produces a reasonably-looking font list and test png.
* serializer: Leave out faceid for nowMatthias Clasen2022-01-281-6/+23
| | | | | | | | | The serializer has its own checksum to guarantee font matches, and including the faceid in serialized font descriptions would make the serialization backend-dependent. We can add it later when all our fontmaps are hb.
* serializer: Improve font serializationMatthias Clasen2022-01-286-0/+39
| | | | | | | Include index and instance_id in the output when serializing fonts. Update all affected tests.
* pangocairo: Allow picking the new fc fontmapMatthias Clasen2022-01-281-2/+7
| | | | Make PANGOCAIRO_BACKEND=fontconfig2 or fc2 work.
* pango-list: Show variable facesMatthias Clasen2022-01-282-36/+145
| | | | | Add an '@' to the face name for variable faces. And various other improvements.
* test-shape: Use a simple fontmapMatthias Clasen2022-01-281-2/+10
| | | | This is experimental to see how far we can take this.
* Add PangoFcHbFontMap testsMatthias Clasen2022-01-281-0/+423
|
* Add PangoFcHbFontMapMatthias Clasen2022-01-284-0/+667
| | | | | | | | | This is a new fontmap implementation that works by populating a PangoHbFontMap from fontconfig data. It relies on the base class to provide caching and lookups. In contrast to the existing fontconfig fontmap, this does not include every font in every fontset.
* Add PangoFcLanguageSetMatthias Clasen2022-01-283-0/+173
| | | | | This is an implementation of PangoLanguageSet that is wrapping FcLangSet.
* pangocairo: handle PangoHbFontMatthias Clasen2022-01-285-25/+168
| | | | Basic rendering is working fine with this.
* Add tests for PangoHbFace and PangoHbFontMatthias Clasen2022-01-283-0/+498
| | | | | Add dedicated tests for various aspects of PangoHbFont and PangoHbFace functionality.
* Add PangoHbFontmapMatthias Clasen2022-01-285-0/+1170
| | | | | | | | | | | This is a fontmap implementation for use with PangoHbFont, which lets you add individual faces. It handles caching and lookups and is designed to let subclasses simply provide a populate vfunc. Note that the load_fontset implementation here is similar in style to the one we have in PangoFontMap: for each family in the font description, pick the best matching face.
* Add PangoHbFontMatthias Clasen2022-01-285-0/+1156
| | | | | | | | This is a simple wrapper around hb_font_t. This is an attempt to make a font backend that does not depend on platform specifics and can be used in tests.
* Add PangoGenericFamilyMatthias Clasen2022-01-285-0/+297
| | | | | This is a PangoFontFamily implementation that will act as a union of other families.
* Add PangoHbFamilyMatthias Clasen2022-01-283-0/+449
| | | | | This is a straightforward implementation of PangoFontFamily for use with PangoHbFace.
* Add PangoHbFaceMatthias Clasen2022-01-285-0/+1151
| | | | | | | | PangoHbFace is a simple wrapper around hb_face_t. This is an attempt to make a font backend that does not depend on platform specifics and can be used in tests.
* Add PangoLanguageSetMatthias Clasen2022-01-285-0/+262
| | | | | | PangoLanguageSet is an internal type used to represent languages that are supported by a font, similar to FcLangSet.
* Add a faceid field to font descriptionsMatthias Clasen2022-01-283-22/+250
| | | | | | | | | | The faceid will be used in future commits to improve font -> description -> font roundtrip accuracy. Update affected tests. Minimal test included.
* Add some useful face apiMatthias Clasen2022-01-288-43/+181
| | | | | | | | Add pango_font_face_supports_language and pango_font_face_get_languages. There is no particular reason to tie language information to fonts instead of faces. This will be useful for the font chooser. Update the fontconfig implementation for these changes.
* font: Add pango_font_face_is_variable/monospaceMatthias Clasen2022-01-283-14/+91
| | | | | | | | | | These are really properties of the individual faces, not the family. The default implementations of these functions simply return the corresponding family value. Add some tests for the new api.