summaryrefslogtreecommitdiff
path: root/pango
Commit message (Collapse)AuthorAgeFilesLines
* docs: Fix parameter name mismatchesMatthias Clasen2019-07-122-4/+4
| | | | gtk-doc doesn't like these.
* ot: Avoid deprecated harfbuzz apiMatthias Clasen2019-07-121-4/+6
| | | | Don't use deprecated api to implement deprecated api!
* Better docs for pango_font_get_featuresMatthias Clasen2019-07-121-3/+5
| | | | | Clarify that the default features of the rendering system are not included.
* Add freetype includes where they belongMatthias Clasen2019-07-122-0/+6
| | | | | Include freetype.h in headers where freetype types are used.
* Drop an unused functionMatthias Clasen2019-07-122-32/+0
| | | | | We don't use _pango_cairo_fc_font_map_get_library anymore.
* fc: Make pango_fc_font_kern_glyphs emptyMatthias Clasen2019-07-121-57/+5
| | | | | | This function has long been deprecated; and it is is using freetype. So drop the implementation.
* Use pango_font_get_featuresMatthias Clasen2019-07-111-56/+45
|
* fc: Implement get_features for fc fontsMatthias Clasen2019-07-111-1/+30
| | | | | We take features out of the FcPattern and translate them into harfbuzz features.
* Add an api to get features of a fontMatthias Clasen2019-07-113-1/+35
|
* Turn PangoCoverage into an objectMatthias Clasen2019-07-113-86/+215
| | | | | | Make PangoCoverage a GObject, and subclass it in pangofcfontmap.c. This lets us use the FcCharSet without copying the data.
* Reimplement PangoCoverage on top of hb_set_tMatthias Clasen2019-07-113-320/+35
| | | | | | This drops the language dependency and coverage levels, both of which are not used in pango.
* Use pango_font_coversMatthias Clasen2019-07-112-6/+4
| | | | This replaces all uses of _pango_engine_shape_covers.
* Add pango_font_coversMatthias Clasen2019-07-113-1/+24
| | | | | | | | | | | Add a pango_font_covers function, which is like pango_shape_engine_covers, without the engine. This api is simpler than PangoCoverage in that it does not take a language as input, and only returns a boolean. This matches the harfbuzz api.
* Set ranges on featuresMatthias Clasen2019-07-111-21/+25
| | | | | | Before passing the features to hb_shape(), set their ranges, since they are no longer always for the full length of the item.
* layout: Don't break runs for font_featuresMatthias Clasen2019-07-111-19/+65
| | | | | | | | | | Don't pass font_features attributes into the itemize run, since we don't need to break runs for this. Split them off, and reapply them after itemization. We rapply them before line breaking, since we want them to affect the shaping. Closes: https://gitlab.gnome.org/GNOME/pango/issues/242
* Add pango_item_apply_attrsMatthias Clasen2019-07-112-0/+49
| | | | | This adds attrs that are overlapping the range of the item to the extra_attrs in the analysis.
* Leave some more attributes out of shapingMatthias Clasen2019-07-111-0/+2
| | | | | | We already count foreground and background color as no-shape attributes, so it makes sense to treat alpha the same.
* Make PangoAttribute a boxed typeMatthias Clasen2019-07-112-0/+7
| | | | | | Based on a patch by Matijs van Zuijlen <matijs@matijs.net>. Closes https://gitlab.gnome.org/GNOME/pango/issues/259
* bidi: Be safer against bad inputMatthias Clasen2019-07-101-2/+5
| | | | | | | Don't run off the end of an array that we allocated to certain length. Closes: https://gitlab.gnome.org/GNOME/pango/issues/342
* Merge branch 'line-separator-font' into 'master'Matthias Clasen2019-07-101-0/+4
|\ | | | | | | | | itemize: Don't change font for line separator See merge request GNOME/pango!71
| * itemize: Don't change font for line separatorMatthias Clasen2019-07-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | If we render this (in single-paragraph mode), we draw a hex box, so changing font just for the line separator is never useful, and in fact, counterproductive in cases where the font has a (typically empty) glyph for it. This fixes the [LS] or [PS] hex boxes not showing up in single-paragraph mode depending on font fallback.
* | Move pangofc to libpangoMatthias Clasen2019-07-091-8/+22
| | | | | | | | | | Move the fontconfig+harfbuzz using parts to libpango, since we want to start using harfbuzz on all platforms.
* | Reduce overlinkingMatthias Clasen2019-07-091-5/+3
| | | | | | | | | | Only link libpangoxft and libpangocairo against xft and cairo.
* | Fix a compiler warningMatthias Clasen2019-07-091-1/+0
| |
* | Fix a typoMatthias Clasen2019-07-091-1/+1
| |
* | Merge branch 'kill-lang-engine' into 'master'Matthias Clasen2019-07-094-69/+19
|\ \ | | | | | | | | | | | | Remove lang engine use See merge request GNOME/pango!73
| * | Remove language engine remnantsMatthias Clasen2019-07-094-59/+3
| | | | | | | | | | | | | | | Drop all internal use of language engines. The lang_engine field in PangoAnalysis is now unused.
| * | break: Call break_script directlyMatthias Clasen2019-07-091-11/+17
| |/ | | | | | | No need to go through the engine api anymore.
* | Revert "break: Mark breaks induced by soft hyphens"Matthias Clasen2019-07-092-12/+2
| | | | | | | | This reverts commit 50b1e8532c5211cebd3cea935f9ac91a087d5c35.
* | Don't rely on log attrs for soft hyphenMatthias Clasen2019-07-091-1/+12
| | | | | | | | | | Instead, look at the pre- and post-break text to figure out what is needed.
* | Separate out the soft hyphen handlingMatthias Clasen2019-07-091-29/+57
|/ | | | Move things into some helper functions.
* Merge branch 'soft-hyphen' into 'master'Matthias Clasen2019-07-073-3/+107
|\ | | | | | | | | Soft hyphen See merge request GNOME/pango!68
| * layout: Insert hyphens at soft hyphen breaksMatthias Clasen2019-07-071-1/+95
| | | | | | | | | | When we take a break at a soft hyphen, insert a visible hyphen.
| * break: Mark breaks induced by soft hyphensMatthias Clasen2019-07-072-2/+12
| | | | | | | | | | | | Use a bit in PangoLogAttr to mark line breaks that are due to soft hyphens; we want to insert hyphens here later, if the break is taken.
* | cairo: Give missing spaces a better widthMatthias Clasen2019-07-071-0/+46
| | | | | | | | | | We are not rendering hex boxes for missing spaces, so we don't need to give them the hex box width.
* | cairo: Don't render hex box for spaceMatthias Clasen2019-07-071-1/+6
|/ | | | | | Even if a font has no space glyph, we don't want to render a hex box for it, since just rendering nothing does a decent approximation of space.
* Keep PangoFontmap derivableMatthias Clasen2019-07-072-91/+71
| | | | This functionality is used in PackageKit.
* Remove an unused labelMatthias Clasen2019-07-061-1/+0
|
* Avoid a critical from markup parsingMatthias Clasen2019-07-051-0/+13
| | | | | | gravity='auto' is not a valid value here. Closes: https://gitlab.gnome.org/GNOME/pango/issues/203
* Update docsMatthias Clasen2019-07-051-2/+2
| | | | Make a new image for layout parameters.
* layout: Add line-spacingMatthias Clasen2019-07-053-20/+99
| | | | | | | | | | | | | | If line-spacing is set to a non-zero value, we place lines so that baseline2 = baseline1 + line-spacing * height2 where height2 is the line height of the second line. In this case, we ignore spacing. If line-spacing is set to zero, spacing is applied as before.
* Add line heights to layout linesMatthias Clasen2019-07-052-39/+109
| | | | Add a getter for the line height of a layout line.
* coretext: Set line height in metricsMatthias Clasen2019-07-051-0/+1
|
* win32: Set line height in metricsMatthias Clasen2019-07-051-0/+1
| | | | | Following information found here: https://docs.microsoft.com/en-us/windows/win32/gdi/string-widths-and-heights
* Add line height to font metricsMatthias Clasen2019-07-055-34/+89
| | | | Add a getter for the line height of a font.
* coretext: Plug a memory leakMatthias Clasen2019-07-051-0/+3
| | | | | | Patch by Alan Wang. Closes: https://gitlab.gnome.org/GNOME/pango/issues/281
* Mark deprecated apis more clearlyMatthias Clasen2019-07-043-16/+16
| | | | Move them to their own section in the docs.
* Header cleanupMatthias Clasen2019-07-0442-758/+987
| | | | | | | Abolish the PANGO_ENABLE_BACKEND and PANGO_ENABLE_ENGINE defines. All backend-only apis are moved into private headers, all apis that were engine-only are marked as deprecated, since engines are.
* Drop g_type_init callsMatthias Clasen2019-07-044-23/+0
| | | | | These were ifdefed to an older version of GLib than we require now, so are just dead code.
* Update the pair tableMatthias Clasen2019-07-031-1/+42
| | | | | This was done by comparing with the Bidi_Mirrored property in Unicode 12.