summaryrefslogtreecommitdiff
path: root/pango
Commit message (Collapse)AuthorAgeFilesLines
* doc cleanupsMatthias Clasen2019-07-233-120/+118
| | | | Clean up some headers, and shovel docs around.
* Remove an unused functionMatthias Clasen2019-07-231-9/+0
|
* Merge branch 'better-hyphens' into 'master'Matthias Clasen2019-07-229-150/+240
|\ | | | | | | | | Better hyphens See merge request GNOME/pango!89
| * Fix a comment typoMatthias Clasen2019-07-221-1/+1
| |
| * Add a missing Since tagMatthias Clasen2019-07-201-0/+2
| |
| * layout: Pass offset to pango_tailor_breakMatthias Clasen2019-07-201-31/+10
| | | | | | | | This is necessary to interpret the attributes.
| * break: Implement allow-breaksMatthias Clasen2019-07-201-9/+87
| | | | | | | | | | | | | | | | | | We implement this in pango_tailor_break(), after the script-specific breaking. When line breaks are forbidden in a range, we remove line and char break opportunities inside the range.
| * Add an allow-breaks attributeMatthias Clasen2019-07-203-1/+49
| | | | | | | | | | Add a new attribute type, and parse allow_breaks="false" in markup. This is useful to prevent hyphenation of words.
| * Add an offset argument to pango_tailor_breakMatthias Clasen2019-07-202-2/+5
| | | | | | | | | | | | Without this, it is not possible to interpret attributes, whose offsets are relative to the beginning of the paragraph.
| * Insert hyphens in more placesMatthias Clasen2019-07-201-2/+31
| | | | | | | | | | | | Look for whether the char before the break is not whitespace and doesn't look like a hyphen.
| * Don't insert extra runs for hyphensMatthias Clasen2019-07-203-104/+55
| | | | | | | | | | | | | | | | | | Instead, reshape the pre-break run with the soft hyphen replaced by an actual hyphen. This is unfortunately inefficient, we copy the entire text for this. The alternative (scatter-gather populating the harfbuzz buffer) is too hard to manage.
| * Quiet a compiler warningMatthias Clasen2019-07-201-2/+2
| |
* | pangowin32: add back the old font fallback list for each registered fontChristoph Reiter2019-07-211-0/+11
| | | | | | | | | | | | | | | | | | | | | | In f523c25c12c I changed the font fallback list from hardcoded to reading it from the registry to cover all potentially default Windows UI fonts. Turns out that this doesn't cover all of Unicode and breaks things like Marathi. This adds back the language specific font fallbacks to each font read from the registry to restore the old Unicode coverage. Fixes #375
* | Merge branch 'cairo-detection-improvements' into 'master'Matthias Clasen2019-07-211-1/+9
|\ \ | | | | | | | | | | | | Improve build experience in regards to Cairo/PangoCairo See merge request GNOME/pango!93
| * | pango/meson.build: Fix pangocairo.pc on MSVC buildsChun-wei Fan2019-07-191-1/+9
| | | | | | | | | | | | | | | | | | | | | On MSVC builds, Cairo may be found either via pkg-config files or manually through finding headers and libs, so we need to ensure that we create pangocairo.pc correctly, otherwise items that depend on PangoCairo may not link correctly.
* | | pango/pango-attributes.c: Trivial fix for pre-C99Chun-wei Fan2019-07-201-1/+1
| | | | | | | | | | | | Ensure that we declare variables at the top of the block.
* | | Add a function to update attribute listsMatthias Clasen2019-07-192-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a function that can update positions of attributes as the underlying text is changing. This is meant to be used to update an attribute list as text transformations are applied, like capitalization.
* | | Add pango_attr_list_get_attributesMatthias Clasen2019-07-192-0/+24
| |/ |/| | | | | | | This was a gap in the attribute api - no way to get attributes back out of a list.
* | Remove unused remnants of shape engineKhaled Hosny2019-07-194-184/+0
| |
* | Remove now unused platform shaping codeKhaled Hosny2019-07-195-1353/+0
|/
* Merge branch 'wip/kill-shape-engine' into 'master'Matthias Clasen2019-07-1813-370/+166
|\ | | | | | | | | Kill shape engines See merge request GNOME/pango!75
| * Rename _pango_fc_shapeMatthias Clasen2019-07-184-21/+54
| | | | | | | | It is all harfbuzz now, so call it pango_hb_shape.
| * Stop exporting _pango_fc_shapeMatthias Clasen2019-07-181-1/+0
| | | | | | | | It is no longer used in libpangoft2.
| * Document engines as unusedMatthias Clasen2019-07-181-2/+2
| |
| * Deprecate pango_font_find_shaperMatthias Clasen2019-07-183-12/+3
| | | | | | | | | | Deprecate pango_font_find_shaper, make it return NULL, and remove the find_shaper vfunc.
| * win32: Stop providing a shape engineMatthias Clasen2019-07-181-44/+0
| | | | | | | | It is no longer used.
| * coretext: Stop providing a shape engineMatthias Clasen2019-07-181-41/+0
| | | | | | | | It is no longer used.
| * fc: Stop providing a shape engineMatthias Clasen2019-07-181-45/+0
| | | | | | | | It is no longer used.
| * itemize: Stop filling analysis->shape_engineMatthias Clasen2019-07-181-88/+36
| | | | | | | | This field is unused now.
| * Switch to using harfbuzz for shapingMatthias Clasen2019-07-181-61/+73
| | | | | | | | | | | | Drop internal shape engine uses and call _pango_fc_shape directly. This makes us use harfbuzz for shaping, on all backends.
| * Move _pango_fc_shape to libpangoMatthias Clasen2019-07-182-9/+9
| | | | | | | | | | | | | | We temporarily export it since it is still used for the shape engine in libpangoft2. This will be undone when we drop the shape engine.
| * shape: Drop unneeded includesMatthias Clasen2019-07-181-3/+2
| | | | | | | | pangofc-shape.c does not use any pangofc api anymore.
| * shape: Stop rounding glyph positionsMatthias Clasen2019-07-181-56/+0
| | | | | | | | | | | | | | As we move towards subpixel positioning and unhinted rendering, rounding the glyph positions and widths between shaping and rendering is counterproductive. So stop doing that.
* | Expand docs for pango_font_get_hb_fontMatthias Clasen2019-07-181-0/+4
| |
* | Make hb fonts immutable in the frontendMatthias Clasen2019-07-184-6/+2
|/ | | | | | It makes more sense to do this in the frontend that hands the objects out, rather than in each backend implementation.
* win32: Implement create_hb_fontChun-wei Fan2019-07-181-0/+85
| | | | | | | | | This renders correctly in ci. This attempts to acquire the hb_font_t from the HFont that we acquire from the Windows HFONT that we use, so that we can pass things to HarfBuzz, which will handle the shaping for us. win32: Set scale on hb font
* coretext: Implement create_hb_fontMatthias Clasen2019-07-181-0/+24
| | | | This has been tested and renders correctly.
* fc: Drop freetype from pangofc-font.hMatthias Clasen2019-07-186-12/+9
| | | | | Stop using FT_Face here, so we can stop including freetype headers.
* fc: Drop some gratitious use of FT typesMatthias Clasen2019-07-184-15/+3
|
* fc: Deprecate FT_Face gettersMatthias Clasen2019-07-182-2/+4
| | | | | We are moving away from a freetype dependency, so these will be going away at some point.
* fc: Use harfbuzz for glyph extentsMatthias Clasen2019-07-181-63/+28
| | | | Harfbuzz has the api, no need to use freetype.
* fc: Use harfbuzz for font metricsMatthias Clasen2019-07-181-111/+28
| | | | | | Note that some of the harfbuzz api we use here has not landed yet. See https://github.com/harfbuzz/harfbuzz/pull/1432
* fc: Drop the cmap cacheMatthias Clasen2019-07-183-78/+0
| | | | This is now unused.
* fc: Use harfbuzz for glyph lookupMatthias Clasen2019-07-181-42/+4
| | | | We don't need our own caching here.
* fc: Make pangofc_shape backend-neutralMatthias Clasen2019-07-181-44/+47
| | | | | Use typechecks for the two remaining bits of code that use PangoFcFont.
* fc: Make hb font immutableMatthias Clasen2019-07-181-0/+2
| | | | | | The frontend is caching this object, and we are giving it out to applications. We really can't allow them to modify it in any way.
* fc: Move font setup code from the shaperMatthias Clasen2019-07-183-332/+147
| | | | | | | | | | | | Move all the code that sets up the hb_font_t to pango_fc_font_create_hb_font, and use it from the shaper. This is the second step towards taking over font management. Even better, harfbuzz has a ready-made function for this. We can drop a lot of FT_Face-using code this way. We assume unhinted rendering for now, so we can set ppem to 0.
* fc: Implement create_hb_fontMatthias Clasen2019-07-183-1/+69
|
* Add api to get a hb_font_tMatthias Clasen2019-07-183-6/+49
| | | | | Add pango_font_get_hb_font, which will make it easier access harfbuzz features.
* coretext: Remove unused codeMatthias Clasen2019-07-181-24/+0
|