summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* font: Export some functions privatelyMatthias Clasen2022-01-282-8/+21
| | | | | | pango_font_description_better_match is not the greatest api to sort fonts, export the distance function for use in PangoHbFamily.
* coverage: Add a constructor from hb_face_tMatthias Clasen2022-01-282-0/+23
| | | | | Add private API to create a PangoCoverage object from a hb_face_t. This will be used in future commits.
* Make pango-trace available in libpango.soMatthias Clasen2022-01-281-0/+1
| | | | So far, this was only compiled into libpangoft2.so.
* Add PANGO_DECLARE_INTERNAL_TYPEMatthias Clasen2022-01-281-1/+40
| | | | | | This will be used in future commits for making types that can be internally derived without exposing them to 3rd parties.
* itemize: Use pango_fontset_get_charMatthias Clasen2022-01-281-19/+8
| | | | This is the right api to use here.
* fontset: Add pango_fontset_get_languageMatthias Clasen2022-01-283-6/+26
| | | | This was a missing wrapper for an existing vfunc.
* Bump version to 1.51Matthias Clasen2022-01-281-1/+1
|
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2022-01-213-16/+16
|\ | | | | | | | | Quiet down break tests See merge request GNOME/pango!582
| * Quiet down break testsMatthias Clasen2022-01-212-15/+15
| | | | | | | | | | | | | | | | | | The output from the testboundaries tests just overwhelms the test reports and makes it hard to find the actual problems. Stop that. You can still get the noise, by passing --verbose to the tests.
| * docs: Fix a typoMatthias Clasen2022-01-211-1/+1
|/
* Merge branch 'fix-allow-breaks' into 'main'Matthias Clasen2022-01-212-4/+4
|\ | | | | | | | | Fix allow_breaks handling See merge request GNOME/pango!581
| * Fix allow_breaks handlingfix-allow-breaksMatthias Clasen2022-01-202-4/+4
|/ | | | | | | | | handling of segmentation attributes can introduce line breaks, after we removed them in allow_breaks handling. Change the order to handle allow_breaks last, so this doesn't happen. Update affected tests.
* Merge branch 'fix-asciid-call' into 'main'Matthias Clasen2022-01-187-20/+20
|\ | | | | | | | | | | | | Fix a g_ascii_formatd call Closes #659 See merge request GNOME/pango!580
| * Fix a g_ascii_formatd callfix-asciid-callMatthias Clasen2022-01-187-20/+20
|/ | | | | | | | | | | We were passing a format specifier that starts with ' ', which some implementations of that API don't like. This change removes an extraneous space from the output. Update affected tests. Fixes: #659
* Merge branch 'no-fontmap-no-fun' into 'main'Matthias Clasen2022-01-142-3/+5
|\ | | | | | | | | | | | | Check for fontmaps Closes #658 See merge request GNOME/pango!578
| * Check for fontmapsno-fontmap-no-funMatthias Clasen2022-01-141-0/+2
| | | | | | | | | | | | | | To avoid trivialities, check that our context has a fontmap, at a strategic place. Fixes: #658
| * docs: Fix a typoMatthias Clasen2022-01-141-3/+3
|/
* Merge branch 'deprecate-coverage-ref' into 'main'Matthias Clasen2022-01-1012-21/+49
|\ | | | | | | | | Drop uses of pango_coverage_ref/unref See merge request GNOME/pango!577
| * Deprecate pango_coverage_ref/unrefdeprecate-coverage-refMatthias Clasen2022-01-102-3/+7
| | | | | | | | These are just wrappers of g_object_ref/unref.
| * Drop uses of pango_coverage_ref/unrefMatthias Clasen2022-01-109-18/+18
| | | | | | | | Just use g_object_ref/unref.
| * Add version macros for 1.52Matthias Clasen2022-01-101-0/+24
|/
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2022-01-103-1/+15
|\ | | | | | | | | Matthiasc/for main See merge request GNOME/pango!576
| * fonts: Fix get_face default implMatthias Clasen2022-01-101-1/+1
| |
| * Add a default implementation for list_facesMatthias Clasen2022-01-101-0/+13
| |
| * Add a bold sans to the test font setupMatthias Clasen2022-01-102-0/+1
|/
* Merge branch 'attrlist-splice' into 'main'Matthias Clasen2022-01-102-3/+35
|\ | | | | | | | | | | | | Clarify pango_attr_list_splice docs Closes #653 See merge request GNOME/pango!574
| * Reinstate previous behavior or pango_attr_list_spliceattrlist-spliceMatthias Clasen2022-01-072-3/+35
| | | | | | | | | | | | | | | | | | | | If gap is zero, don't limit the inserted attributes; that does not make sense. Spell out the different use cases in the docs. Testcase included. Fixes: #653
| * Clarify pango_attr_list_splice docsMatthias Clasen2022-01-071-1/+1
| | | | | | | | | | Make it explicit that the spliced-in attributes are limited to the the 'gap'.
* | Merge branch 'bilelmoussaoui/gi' into 'main'Matthias Clasen2022-01-102-14/+8
|\ \ | |/ |/| | | | | g-i: add since annotations to enum members See merge request GNOME/pango!575