summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* New APIBehdad Esfahbod2007-05-0411-8/+402
| | | | | | | | | | | | | | | | | | | | | 2007-05-04 Behdad Esfahbod <behdad@gnome.org> * pango/pangocairo.h: * pango/pangocairo-context.c: * pango/pangocairo-render.c: New API PangoCairoShapeRendererFunc and pango_cairo_context_[sg]et_shape_renderer() * docs/pango-sections.txt, docs/tmpl/pangocairo.sgml: Document new * API. * examples/Makefile.am, examples/cairoshape.c: New example to show off new API/feature. svn path=/trunk/; revision=2261
* Rip non-fontmap stuff from pangocairo-fontmap.c into pangocairo-context.c.Behdad Esfahbod2007-05-044-299/+334
| | | | | | | | | | | | | 2007-05-04 Behdad Esfahbod <behdad@gnome.org> * pango/Makefile.am: * pango/pangocairo-context.c: * pango/pangocairo-fontmap.c: Rip non-fontmap stuff from pangocairo-fontmap.c into pangocairo-context.c. svn path=/trunk/; revision=2260
* Improve docs about freeing returned items.Behdad Esfahbod2007-05-033-2/+8
| | | | | | | | | | 2007-05-03 Behdad Esfahbod <behdad@gnome.org> * pango/pango-context.c (pango_itemize): Improve docs about freeing returned items. svn path=/trunk/; revision=2259
* New test text that contains a Persian monologue by YarAli PourMoghaddamBehdad Esfahbod2007-05-032-0/+26
| | | | | | | | | | | | 2007-05-03 Behdad Esfahbod <behdad@gnome.org> * pango-view/test-long-paragraph.txt: New test text that contains a Persian monologue by YarAli PourMoghaddam which is a single paragraph of more than 10,000 chars and 2,400 words. Used for testing the effect of previous change. svn path=/trunk/; revision=2258
* When breaking item to fit it into current line, go from the beginning,Behdad Esfahbod2007-05-032-6/+15
| | | | | | | | | | | | | 2007-05-03 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.c (process_item): When breaking item to fit it into current line, go from the beginning, adding char at a time until it doesn't fit anymore instead of removing chars from the end. The difference is a O(n) as opposed to O(n^2) algorithm were n is the number of lines in the paragraph (assuming constant chars per line). svn path=/trunk/; revision=2257
* Save one layout rendering per view. Down to two from three now.Behdad Esfahbod2007-05-032-10/+21
| | | | | | | | | | 2007-05-03 Behdad Esfahbod <behdad@gnome.org> * pango-view/viewer-render.c (output_body), (do_output): Save one layout rendering per view. Down to two from three now. svn path=/trunk/; revision=2256
* New test text with long Latin and Arabic lines, suitable for --justifyBehdad Esfahbod2007-05-032-0/+10
| | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> * pango-view/test-justify.txt: New test text with long Latin and Arabic lines, suitable for --justify testing. svn path=/trunk/; revision=2255
* Bug 64538 – pango_layout_set_justify() doesn't workBehdad Esfahbod2007-05-032-4/+104
| | | | | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> Bug 64538 – pango_layout_set_justify() doesn't work * pango/pango-layout.c (process_item), (justify_clusters), (justify_words): If no space found, justify by inserting space between clusters. svn path=/trunk/; revision=2254
* Fix letter-spacing with justification. We now distribute letter-spacingBehdad Esfahbod2007-05-024-42/+187
| | | | | | | | | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> * pango/pango-glyph-item.c (pango_glyph_item_letter_space): * pango/pango-item.c (pango_item_split): * pango/pango-layout.c (distribute_letter_spacing), (shape_run), (debug), (process_item), (process_line), (pad_glyphstring_right), (pad_glyphstring_left), (zero_line_final_space), (adjust_line_letter_spacing), (pango_layout_line_postprocess): Fix letter-spacing with justification. We now distribute letter-spacing equally on both sides of clusters, instead of putting it all on one side. svn path=/trunk/; revision=2253
* Bug 64538 – pango_layout_set_justify() doesn't workBehdad Esfahbod2007-05-022-2/+110
| | | | | | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> Bug 64538 – pango_layout_set_justify() doesn't work * pango/pango-layout.c (zero_line_final_space), (justify_clusters), (justify_words), (pango_layout_line_postprocess): Implement justification by expanding spaces! Based on early patch from Mathias Hasselmann. svn path=/trunk/; revision=2252
* Add patch-from.Behdad Esfahbod2007-05-021-0/+2
| | | | svn path=/trunk/; revision=2251
* Add is_expandable_space to PangoLogAttr.Behdad Esfahbod2007-05-024-5/+22
| | | | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> * docs/tmpl/main.sgml: * pango/break.c (pango_default_break): * pango/pango-break.h: Add is_expandable_space to PangoLogAttr. svn path=/trunk/; revision=2250
* Add --justify.Mathias Hasselmann2007-05-022-0/+9
| | | | | | | | | | 2007-05-02 Mathias Hasselmann <mathias.hasselmann@gmx.de> * pango-view/viewer-render.c (make_layout), (parse_options): Add --justify. svn path=/trunk/; revision=2249
* Bug 355789 – Pango misaligns word-wrapped text due to trailingBehdad Esfahbod2007-05-022-0/+43
| | | | | | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> Bug 355789 – Pango misaligns word-wrapped text due to trailing whitespace * pango/pango-layout.c (zero_line_final_space), (pango_layout_line_postprocess): Make logical-final whitespace on wrapped lines zero-width. svn path=/trunk/; revision=2248
* Keep track of line start_offset in break state.Behdad Esfahbod2007-05-022-1/+9
| | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.c (process_line), (pango_layout_check_lines): Keep track of line start_offset in break state. svn path=/trunk/; revision=2247
* Add a "wrapped" argument to pango_layout_line_postprocess(). Going to useBehdad Esfahbod2007-05-022-6/+17
| | | | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.c (process_line), (pango_layout_line_postprocess): Add a "wrapped" argument to pango_layout_line_postprocess(). Going to use it for eg whether we should justify the line. svn path=/trunk/; revision=2246
* Set is_wrapped to true on BREAK_EMPTY_FIT too.Behdad Esfahbod2007-05-022-0/+6
| | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.c (process_line): Set is_wrapped to true on BREAK_EMPTY_FIT too. svn path=/trunk/; revision=2245
* MinorBehdad Esfahbod2007-05-021-3/+3
| | | | svn path=/trunk/; revision=2244
* Remove stale prototype of _pango_layout_iter_get_line_readonly().Behdad Esfahbod2007-05-022-1/+5
| | | | | | | | | | 2007-05-02 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout-private.h: Remove stale prototype of _pango_layout_iter_get_line_readonly(). svn path=/trunk/; revision=2243
* Add note about how we should not be using pango_break() here.Behdad Esfahbod2007-05-022-0/+9
| | | | | | | | | | 2007-05-01 Behdad Esfahbod <behdad@gnome.org> * pango/pango-layout.c (get_items_log_attrs): Add note about how we should not be using pango_break() here. svn path=/trunk/; revision=2242
* Add option for testing text alignment.Mathias Hasselmann2007-05-012-4/+29
| | | | | | | | | | 2007-04-28 Mathias Hasselmann <mathias.hasselmann@gmx.de> * pango-view/viewer-render.c (make_layout), (parse_alignment), (parse_options): Add option for testing text alignment. svn path=/trunk/; revision=2241
* Link freetype to harfbuzz-dump, for those systems that don't trackBehdad Esfahbod2007-05-012-2/+8
| | | | | | | | | | 2007-04-30 Behdad Esfahbod <behdad@gnome.org> * pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, for those systems that don't track dependencies automatically. svn path=/trunk/; revision=2240
* Add PANGO_UNITS_ROUND to docs.Behdad Esfahbod2007-04-303-0/+24
| | | | | | | | | | | 2007-04-30 Behdad Esfahbod <behdad@gnome.org> * docs/pango-sections.txt: * docs/tmpl/glyphs.sgml: Add PANGO_UNITS_ROUND to docs. svn path=/trunk/; revision=2239
* Move PANGO_UNITS_ROUND here... ...from here.Behdad Esfahbod2007-04-309-25/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-04-30 Behdad Esfahbod <behdad@gnome.org> * pango/pango-types.h: Move PANGO_UNITS_ROUND here... * pango/pangofc-private.h: ...from here. * pango/pango-gravity.c: Document that pango_gravity_to_rotation() returns angle in radians but pango_matrix_rotate() takes degrees. * pango/pango-layout.c (pango_layout_run_get_extents): * pango/pango-renderer.c (pango_renderer_draw_layout_line): Retain metrics hinting when centering baseline (used for Latin, etc in vertical mode). * pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_metrics), (pango_cairo_fc_font_glyph_extents_cache_init): Respect metrics hinting setting when moving glyphs around for vertical writing. * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new): Apply the gravity rotation before the pattern's matrix, such that vertical text gets correct italic direction. * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info): Make hexbox font inherit most properties from the current font. That is, bold hexbox digits for a bold font, etc. svn path=/trunk/; revision=2238
* A font name in encoding UCS4_ENCODING_ID actually is in UTF-16, not UCS-4.Tor Lillqvist2007-04-302-2/+10
| | | | | | | | | | | 2007-04-30 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c (get_family_nameA, get_family_nameW): A font name in encoding UCS4_ENCODING_ID actually is in UTF-16, not UCS-4. (#429397, Akihiro Okamura) svn path=/trunk/; revision=2237
* Correct the signature by making PangoAnalysis const, fixes build warning.Richard Hult2007-04-272-6/+11
| | | | | | | | | 2007-04-27 Richard Hult <richard@imendio.com> * modules/basic/basic-atsui.c (basic_engine_shape): Correct the signature by making PangoAnalysis const, fixes build warning. svn path=/trunk/; revision=2236
* Add comment to Richard's commit.Behdad Esfahbod2007-04-271-0/+2
| | | | svn path=/trunk/; revision=2235
* Use maxAdvanceWidth instead of avgAdvanceWidth, the latter is 0 for manyRichard Hult2007-04-272-2/+8
| | | | | | | | | | 2007-04-27 Richard Hult <richard@imendio.com> * pango/pangocairo-atsuifont.c (pango_cairo_atsui_font_get_metrics): Use maxAdvanceWidth instead of avgAdvanceWidth, the latter is 0 for many fonts. This is a temporary solution, see bug #433805 for details. svn path=/trunk/; revision=2234
* === Released 1.16.4 ===PANGO_1_16_4Behdad Esfahbod2007-04-273-2/+19
| | | | | | | | | | | | | 2007-04-27 Behdad Esfahbod <behdad@gnome.org> * === Released 1.16.4 === * configure.in: Version 1.16.4 * NEWS: Updated. svn path=/trunk/; revision=2232
* Add bug reference.Behdad Esfahbod2007-04-271-0/+2
| | | | svn path=/trunk/; revision=2231
* Add --disable-doc-cross-references.Behdad Esfahbod2007-04-274-7/+41
| | | | | | | | | | | | | | | 2007-04-27 Behdad Esfahbod <behdad@gnome.org> * configure.in: Add --disable-doc-cross-references. * docs/Makefile.am: Make sure --disable-doc-cross-references is set in order to make dist. * Makefile.am: Add --disable-doc-cross-references to DISTCHECK_CONFIGURE_FLAGS. svn path=/trunk/; revision=2230
* === Released 1.16.3 ===PANGO_1_16_3Behdad Esfahbod2007-04-233-2/+17
| | | | | | | | | | | | | 2007-04-23 Behdad Esfahbod <behdad@gnome.org> * === Released 1.16.3 === * configure.in: Version 1.16.3 * NEWS: Updated. svn path=/trunk/; revision=2228
* Improved hexbox position.Behdad Esfahbod2007-04-182-2/+11
| | | | | | | | | | 2007-04-18 Behdad Esfahbod <behdad@gnome.org> * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info): Improved hexbox position. svn path=/trunk/; revision=2227
* Quantize kerning adjustment, otherwise all the metrics hinting effort willBehdad Esfahbod2007-04-125-19/+60
| | | | | | | | | | | | | | | | | | 2007-04-12 Behdad Esfahbod <behdad@gnome.org> * pango/pango-ot-buffer.c (apply_gpos_ltr), (apply_gpos_rtl), (pango_ot_buffer_output): * pango/pango-types.h: * pango/pangofc-font.c (pango_fc_font_kern_glyphs): * pango/pangofc-private.h: Quantize kerning adjustment, otherwise all the metrics hinting effort will be ruined by a non-whole-pixel kerning value. In the future we want to take lsb_delta and rsb_delta into the game before quantizing the adjustment here, but we don't have those values handy right now. svn path=/trunk/; revision=2225
* === Released 1.16.2 ===PANGO_1_16_2Behdad Esfahbod2007-04-093-2/+20
| | | | | | | | | | | | | 2007-04-09 Behdad Esfahbod <behdad@gnome.org> * === Released 1.16.2 === * configure.in: Version 1.16.2 * NEWS: Updated. svn path=/trunk/; revision=2223
* Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerningBehdad Esfahbod2007-04-034-1/+20
| | | | | | | | | | | | | | 2007-04-03 Behdad Esfahbod <behdad@gnome.org> * pango/opentype/harfbuzz-gdef.c (_HB_GDEF_Check_Property): * pango/opentype/harfbuzz-gpos.c (HB_Done_GPOS_Table), (Lookup_PairPos): * pango/opentype/harfbuzz-open.c (Get_Class1): Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerning fix, and an array out-of-bound access fix. svn path=/trunk/; revision=2221
* Add EXEEXT around to make it build on OS/2 Patch from Dave Yeo.Behdad Esfahbod2007-04-012-5/+10
| | | | | | | | | | 2007-04-01 Behdad Esfahbod <behdad@gnome.org> * modules/Makefile.am: Add EXEEXT around to make it build on OS/2 Patch from Dave Yeo. svn path=/trunk/; revision=2220
* Update templatesBehdad Esfahbod2007-04-011-0/+28
| | | | svn path=/trunk/; revision=2219
* Bug 419262 - Don't create coverage every time it's asked forRichard Hult2007-03-187-39/+95
| | | | | | | | | | | | | | | | | | | | | | 2007-03-18 Richard Hult <richard@imendio.com> Bug 419262 - Don't create coverage every time it's asked for * pango/pangoatsui.c: (pango_atsui_font_get_coverage): * pango/pangoatsui-fontmap.c: Pass around a PangoATSUIFace instead of the postscript name string. Move the coverage creation from the font to the face, and get the coverage from the face instead of creating it every time. * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c: (_pango_cairo_atsui_font_new): Use the face instead of the postscript name. * pango/pangoatsui-private.h: * pango/pangocairo-atsuifontmap.c: Add getters for the postscript name and coverage for the face. svn path=/trunk/; revision=2218
* Add missing declaration of pango_win32_family_get_type(). (#417946, IvanTor Lillqvist2007-03-142-1/+8
| | | | | | | | | | 2007-03-14 Tor Lillqvist <tml@novell.com> * pango/pangowin32-fontmap.c: Add missing declaration of pango_win32_family_get_type(). (#417946, Ivan Wong) svn path=/trunk/; revision=2217
* Add new symbols to docs.Behdad Esfahbod2007-03-124-2/+12
| | | | | | | | | | | | 2007-03-12 Behdad Esfahbod <behdad@gnome.org> * docs/pango-sections.txt: * pango/pangowin32-fontmap.c: * pango/pangowin32.c: Add new symbols to docs. svn path=/trunk/; revision=2216
* === Released 1.16.1 ===PANGO_1_16_1Behdad Esfahbod2007-03-123-2/+32
| | | | | | | | | | | | | | | 2007-03-12 Behdad Esfahbod <behdad@gnome.org> * === Released 1.16.1 === * configure.in: Version 1.16.1 * NEWS: Updated. * README: Updated. svn path=/trunk/; revision=2214
* pango/pangowin32-private.h pango/pangowin32.c pango/pangowin32-fontcache.cTor Lillqvist2007-03-107-229/+223
| | | | | | | | | | | | | | | | | | 2007-03-10 Tor Lillqvist <tml@novell.com> * pango/pangowin32-private.h * pango/pangowin32.c * pango/pangowin32-fontcache.c * pango/pangowin32-fontmap.c * pango/pangocairo-win32font.c * pango/pangowin32.def: Move functions defined in one file and used in another to the file where used, make them static, and drop from pangowin32-private.h. Prefix all private non-static functions with underscore. Also functions used only by the pangocairo DLL are considered private. (#120195) svn path=/trunk/; revision=2213
* Uniscribe is optional only at run-time.Tor Lillqvist2007-03-101-3/+3
| | | | | | | | | 2007-03-10 Tor Lillqvist <tml@novell.com> * README: Uniscribe is optional only at run-time. svn path=/trunk/; revision=2212
* Uniscribe is not optional.Tor Lillqvist2007-03-101-3/+3
| | | | | | | | | 2007-03-10 Tor Lillqvist <tml@novell.com> * README: Uniscribe is not optional. svn path=/trunk/; revision=2211
* An ISO639 code is always in ASCII, no need to call the wide-characterTor Lillqvist2007-03-071-10/+1
| | | | | | | | | | | 2007-03-07 Tor Lillqvist <tml@novell.com> * modules/basic/basic-win32.c: An ISO639 code is always in ASCII, no need to call the wide-character version of GetLocaleInfo(). svn path=/trunk/; revision=2210
* configure.in modules/basic/Makefile.am Make building with Uniscribe (usingTor Lillqvist2007-03-074-282/+52
| | | | | | | | | | | | | | | | | | | | | | | | 2007-03-07 Tor Lillqvist <tml@novell.com> * configure.in * modules/basic/Makefile.am * modules/basic/basic-win32.c: Make building with Uniscribe (using the <usp10.h> header) mandatory. Mingw's w32api headers do include usp10.h now so one doesn't need to copy it from the Platform SDK any longer. At runtime using Uniscribe is still optional, depending on whether usp10.dll is found or not. I think it isn't necessarily present on Windows 2000 machines, for instance. * modules/basic/basic-win32.c (lang_name): Instead of a hardcoded case statement, use GetLocaleInfo() to get the language ISO639 code. (charset_name): Remove, unused. (itemize_shape_and_place, uniscribe_shape, basic_engine_shape): Constify the PangoAnalysis parameter to match the prototype of PangoEngineShapeClass::script_shape(). svn path=/trunk/; revision=2209
* Bug 414297 – Fails to build with --enable-static --with-included-modulesBehdad Esfahbod2007-03-032-0/+10
| | | | | | | | | | | | | | 2007-03-03 Behdad Esfahbod <behdad@gnome.org> Bug 414297 – Fails to build with --enable-static --with-included-modules in thai lang module Patch from Loïc Minier * modules/thai/Makefile.am: Include LIBTHAI_LIBS in static module too. svn path=/trunk/; revision=2207
* Bug 412654 – SED variable undefined in the `libtool --config' outputBehdad Esfahbod2007-02-272-0/+8
| | | | | | | | | | | | 2007-02-27 Behdad Esfahbod <behdad@gnome.org> Bug 412654 – SED variable undefined in the `libtool --config' output used by configure * configure.in: export SED before calling libtool svn path=/trunk/; revision=2206
* This change was supposed to go in the trunk before 1.16.0, but it didn'tTor Lillqvist2007-02-278-213/+590
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-02-26 Tor Lillqvist <tml@novell.com> This change was supposed to go in the trunk before 1.16.0, but it didn't quite get there in time. So, to have a clear cut for this somewhat fundamental change in underlying workings (although there should be no user-visible changes), I will build and distribute Win32 binaries only starting from 1.16.1. Use wide character API for fonts on Windows. Rename functions and variables that deal with LOGFONTW structs to emphasize this. (#407315) * pango/pangowin32.c * pango/pangowin32-fontcache.c * pango/pangowin32-fontmap.c: Use LOGFONTW all over the place instead of LOGFONT, and adapt code accordingly. Use wide character Win32 API. * pango/pangowin32.c (pango_win32_font_neww): Renamed from pango_win32_font_new(), as it now takes a LOGFONTW pointer. This is a private function and can be renamed though it is exported as it is used from the pangocairo DLL. (pango_win32_font_logfont): Mention explicitly in doc comment that it returns a LOGFONTA, and recommend to use pango_win32_font_logfontw() instead. (pango_win32_font_logfontw): New function. * pango/pangowin32-fontcache.c (pango_win32_font_cache_load): Must keep this function that takes a LOGFONTA pointer as it is declared in the public header. (pango_win32_font_cache_loadw): New public function that takes a LOGFONTW pointer. * pango/pangowin32-fontmap.c (pango_win32_font_description_from_logfont): Mention explicitly in the doc comment that it takes a LOGFONTA pointer. (pango_win32_font_description_from_logfontw): New public function that takes a LOGFONTW pointer. (pango_win32_make_matching_logfontw): Rename from pango_win32_make_matching_logfont() to emphasize it takes a LOGFONTW pointer. * pango/pangowin32.h: Declare new public functions. * pango/pangowin32-private.h: Declare new private functions, drop removed ones. * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): Simplify now that we call pango_win32_make_matching_logfontw(). * pango/pangowin32.def: Add new functions, rename internal functions that now use LOGFONTW. 2007-02-26 Tor Lillqvist <tml@novell.com> Fix brokenness in the code that tries to ensure that all fonts also have italic variants. Now the code hopefully actually does what it was supposed to. (Which is not necessarily the right thing to do, though. It can be argued that we should not list synthesized italic font styles, we should just silently generate them if asked for. We don't want synthesized italic (or synthesized bold) styles showing up in the font selector. They don't show up when using a fontconfig-based Pango backend either.) (#110521) * pango/pangowin32-fontmap.c (logfont_nosize_hash, logfont_nosize_equal): Don't use the lfItalic field as such, just its nonzeroness. When being enumerated, italic fonts show up with lfItalic=255, but our code looks up italic versions of fonts by passing a key LOGFONT with lfItalic=1. (first_match): Not needed any more, see below. (ensure_italic): This is now called on the entries in the size_infos hash table, not families. The code used to randomly look for the first matching font in size_infoswith the family name being handled. (pango_win32_font_map_init): Iterate through the size_infos hash table with ensure_italic, not through the families table. * pango/pangowin32-fontcache.c (logfontw_hash, logfontw_equal): Look at just nonzeroness of lfItalic here, too. svn path=/trunk/; revision=2204