pango issueshttps://gitlab.gnome.org/GNOME/pango/-/issues2019-07-19T01:05:44Zhttps://gitlab.gnome.org/GNOME/pango/-/issues/89Deprecate pango_break() and add pango_tailor_break() or something2019-07-19T01:05:44ZBugzillaDeprecate pango_break() and add pango_tailor_break() or something## Submitted by Behdad Esfahbod
**[Link to original bug (#462634)](https://bugzilla.gnome.org/show_bug.cgi?id=462634)**
## Description
The problem with pango_break() is that it takes one PangoAnalysis, but should be applied on the e...## Submitted by Behdad Esfahbod
**[Link to original bug (#462634)](https://bugzilla.gnome.org/show_bug.cgi?id=462634)**
## Description
The problem with pango_break() is that it takes one PangoAnalysis, but should be applied on the entire paragraph.
To do correct breaking, one should do pango_default_break() on the entire paragraph, the call pango_tailor_break() on individual runs, do to lang-specific tailoring.Small APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/74pango_layout_set_justify_last_line()2021-08-20T17:57:42ZBugzillapango_layout_set_justify_last_line()## Submitted by Behdad Esfahbod
**[Link to original bug (#435413)](https://bugzilla.gnome.org/show_bug.cgi?id=435413)**
## Description
Currently PangoLayout has an align attr of left/center/right, and a justify attr of true/false. ...## Submitted by Behdad Esfahbod
**[Link to original bug (#435413)](https://bugzilla.gnome.org/show_bug.cgi?id=435413)**
## Description
Currently PangoLayout has an align attr of left/center/right, and a justify attr of true/false. One missing combination is to make pango justify all lines, even the last line of paragraphs that is. It is quite useful in rendering Persian poetry for example where all verses are stretched to the same width (see http://rira.ir/rira/php/?page=view&mod=classicpoems&obj=poem&id=1 for example).
So, there are three ways to implement this that I see:
1) Add a new setting: pango_layout_set_justify_fill() or something. It will only make sense if justify is true, and then align is ignored.
2) Add a new align setting: PANGO_ALIGN_FILL. It makes a lot of sense cause alignment doesn't make sense otherwise. If justify is off or a line cannot be justified, it acts like align center. The major problem with this is adding a new value to an enum that most people don't expect to see extended.
3) Change semantics of ALIGN_CENTER justify=true to fill. This is taking one combination and putting another, hopefully more useful, one. The main problem with this one is that it more often than not will surprise people.
Another option would be to add a new attribute which is a forced line break that unlike a LINE SEPARATOR, will justify the previous line. Needs support in markup too.
Owen? Others?
Version: 1.16.xSmall APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/70convenience API for creation of PangoAttrList2019-07-29T03:30:42ZBugzillaconvenience API for creation of PangoAttrList## Submitted by Sven Neumann
**[Link to original bug (#417777)](https://bugzilla.gnome.org/show_bug.cgi?id=417777)**
## Description
libgimpwidgets includes an API for conveniently applying a PangoAttrList to
a GtkLabel and I would l...## Submitted by Sven Neumann
**[Link to original bug (#417777)](https://bugzilla.gnome.org/show_bug.cgi?id=417777)**
## Description
libgimpwidgets includes an API for conveniently applying a PangoAttrList to
a GtkLabel and I would like to propose it for inclusion in GTK+. It would make sense though to have most of this code in Pango, so I am filing this bug report asking for an API addition to Pango.
The implementation of gimp_label_set_attributes can be reviewed in
http://svn.gnome.org/viewcvs/gimp/trunk/libgimpwidgets/gimpwidgets.c?view=markup
I propose adding pango_attr_list_new_full(...). Perhaps also add pango_attr_new(type, ...).
### Depends on
* [Bug 469641](https://bugzilla.gnome.org/show_bug.cgi?id=469641)Small APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/41API to query upper limit of PangoCoverage2019-07-03T19:37:37ZBugzillaAPI to query upper limit of PangoCoverage## Submitted by Tomas Frydrych
**[Link to original bug (#335224)](https://bugzilla.gnome.org/show_bug.cgi?id=335224)**
## Description
There is currently no API to find out the upper limit of PangoCoverage. This makes it very difficu...## Submitted by Tomas Frydrych
**[Link to original bug (#335224)](https://bugzilla.gnome.org/show_bug.cgi?id=335224)**
## Description
There is currently no API to find out the upper limit of PangoCoverage. This makes it very difficult to convert the entire coverage map into some other format (unless I am willing to iterate over the entire ucs-4 space). Something like
guint
pango_coverage_get_upper_limit(PangoCoverage * c) {return c->n_blocks * 256;}
would be helpful.
Version: 1.8.xSmall APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/23WIP: Support relative font sizes in text markup2021-08-09T02:00:47ZBugzillaWIP: Support relative font sizes in text markup## Submitted by gbz..@..net.nu
**[Link to original bug (#170055)](https://bugzilla.gnome.org/show_bug.cgi?id=170055)**
## Description
Pango markup language doesn't currently allow use of a scale factor, like
possible with the GtkTex...## Submitted by gbz..@..net.nu
**[Link to original bug (#170055)](https://bugzilla.gnome.org/show_bug.cgi?id=170055)**
## Description
Pango markup language doesn't currently allow use of a scale factor, like
possible with the GtkTextTag or PangoAttribute.
It could be useful to have though, being more exact and convenient than nesting
many `<span size="larger">` which are the only current relative size attributes.
Version: 1.8.x
### Depends on
* [Bug 562252](https://bugzilla.gnome.org/show_bug.cgi?id=562252)Small APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/22Very hard to unset attributes.2022-02-16T19:39:10ZBugzillaVery hard to unset attributes.## Submitted by Morten Welinder
Assigned to **Behdad Esfahbod**
**[Link to original bug (#163679)](https://bugzilla.gnome.org/show_bug.cgi?id=163679)**
## Description
If I have an attribute list, it is easy to
1. Set character 4 ...## Submitted by Morten Welinder
Assigned to **Behdad Esfahbod**
**[Link to original bug (#163679)](https://bugzilla.gnome.org/show_bug.cgi?id=163679)**
## Description
If I have an attribute list, it is easy to
1. Set character 4 to bold.
2. Set character 4 to non-bold.
but it is very hard to
3. Set character 4 not to have a boldness attribute.
In fact, without access to the internal list structure this feels like one
would have to build a new list, then empty the original one, then copy over.
(There are two versions of this problem: single attribute and all attributes.)\
Version: 1.8.xSmall APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/14Getting the resolved direction out of a PangoLayout2019-11-01T01:24:01ZBugzillaGetting the resolved direction out of a PangoLayout## Submitted by Owen Taylor
**[Link to original bug (#135843)](https://bugzilla.gnome.org/show_bug.cgi?id=135843)**
## Description
Had to write:
static PangoDirection
get_cursor_direction (GtkLabel *label)
{
PangoDirection last_d...## Submitted by Owen Taylor
**[Link to original bug (#135843)](https://bugzilla.gnome.org/show_bug.cgi?id=135843)**
## Description
Had to write:
static PangoDirection
get_cursor_direction (GtkLabel *label)
{
PangoDirection last_direction;
GSList *lines;
g_assert (label->select_info);
gtk_label_ensure_layout (label);
for (l = pango_layout_get_lines (label->layout);; l; l = l->next)
{
PangoLayoutLine *line = l->data;
/* If label->select_info->selection_end is at the very end of
* the line, we don't know if the cursor is on this line or
* the next without looking ahead at the next line. (End
* of paragraph is different from line break.) But it's
* definitely in this paragraph, which is good enough
* to figure out the resolved direction.
*/
if (line->start_index + line->length >=
label->select_info->selection_end)
return line->resolved_dir;
}
return PANGO_DIRECTION_LTR;
}
Should be in Pango.
Version: 1.4.xSmall APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/9Make it easier to create new int/float attribute types2022-09-29T14:24:54ZBugzillaMake it easier to create new int/float attribute types## Submitted by ton..@..un.com
**[Link to original bug (#116115)](https://bugzilla.gnome.org/show_bug.cgi?id=116115)**
## Description
Pango has a number of 'visible' PangoAttribute types -- language, family,
style, variant, foregrou...## Submitted by ton..@..un.com
**[Link to original bug (#116115)](https://bugzilla.gnome.org/show_bug.cgi?id=116115)**
## Description
Pango has a number of 'visible' PangoAttribute types -- language, family,
style, variant, foreground, background, etc. -- that are each effectively a
child type of a more generic, but 'invisible', PangoAttribute type --
string, language, color, fontdesc, etc. Each of these generic types has
associated _new(), _copy(), _destroy(), and _equal() functions.
While an application that uses Pango uses pango_attr_foreground_new(),
etc., those functions call pango_attr_color_new(), etc.
Pango supports registering new attribute types with
pango_attr_type_register(). However, an application or a Pango variant
that registers new attribute types doesn't have access to the _new(),
_copy(), _destroy(), and _equal() functions for the generic PangoAttribute
types that underlie the visible PangoAttribute types because those
functions are currently 'static'.
The _new(), _copy(), _destroy(), and _equal() functions for the generic
PangoAttribute types should not be static and should have their prototypes
in a new pango-attributes-private.h so registered PangoAttribute types can
be built from the generic PangoAttribute types.
Version: 1.2.xSmall APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/6API to map from strong/weak cursor x to index2022-09-29T14:24:53ZBugzillaAPI to map from strong/weak cursor x to index## Submitted by Owen Taylor
**[Link to original bug (#101380)](https://bugzilla.gnome.org/show_bug.cgi?id=101380)**
## Description
Proper handling of the non-split cursor in GtkTextView requires a
way of going from a X location to t...## Submitted by Owen Taylor
**[Link to original bug (#101380)](https://bugzilla.gnome.org/show_bug.cgi?id=101380)**
## Description
Proper handling of the non-split cursor in GtkTextView requires a
way of going from a X location to the layout index that results
in the weak cursor being at that X location.
See [bug 73307](https://bugzilla.gnome.org/show_bug.cgi?id=73307).
Version: 1.1.x
### Blocking
* [Bug 73307](https://bugzilla.gnome.org/show_bug.cgi?id=73307)Small APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/5Use typedef for Pango units?2024-03-08T08:44:32ZBugzillaUse typedef for Pango units?## Submitted by ton..@..un.com
Assigned to **Behdad Esfahbod**
**[Link to original bug (#98013)](https://bugzilla.gnome.org/show_bug.cgi?id=98013)**
## Description
Pango uses 'int' to represent both device units and Pango units
(1...## Submitted by ton..@..un.com
Assigned to **Behdad Esfahbod**
**[Link to original bug (#98013)](https://bugzilla.gnome.org/show_bug.cgi?id=98013)**
## Description
Pango uses 'int' to represent both device units and Pango units
(1/PANGO_SCALE device units).
Working out whether an 'int' represents device units or Pango units comes
down to reading the documentation, but sometimes that doesn't tell you.
For example, the x_pos argument to pango_glyph_string_x_to_index() is
documented as "the x offset (in thousands of a device unit)", but the x_pos
argument to pango_glyph_string_index_to_x() is documented as "location to
store result"
Making a typedef for Pango units, e.g.:
typedef int PangoUnit;
in pango-types.h and using the typedef for all parameters and return values
that are in Pango units will make the uses of Pango units obvious even if
someone reads just the header files instead of the documentation.
Version: 1.1.xSmall APIhttps://gitlab.gnome.org/GNOME/pango/-/issues/3Add API to get localized family/style names2024-03-08T08:44:32ZBugzillaAdd API to get localized family/style names## Submitted by Owen Taylor
**[Link to original bug (#95731)](https://bugzilla.gnome.org/show_bug.cgi?id=95731)**
## Description
Need to add something like:
char *pango_font_font_family_get_display_name (PangoFontFamily *family,
...## Submitted by Owen Taylor
**[Link to original bug (#95731)](https://bugzilla.gnome.org/show_bug.cgi?id=95731)**
## Description
Need to add something like:
char *pango_font_font_family_get_display_name (PangoFontFamily *family,
PangoLanguage lang);
char *pango_font_font_face_get_display_name (PangoFontFace *face,
PangoLanguage lang);
See discussion in [bug 68113](https://bugzilla.gnome.org/show_bug.cgi?id=68113).
### Blocking
* [Bug 123498](https://bugzilla.gnome.org/show_bug.cgi?id=123498)
* [Bug 319484](https://bugzilla.gnome.org/show_bug.cgi?id=319484)Small API