| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
2006-05-23 Tor Lillqvist <tml@novell.com>
* pango/pangowin32.c (pango_win32_font_describe): Call
pango_font_description_set_absolute_size() instead of
pango_font_description_set_size() as the PangoWin32Font::size is
in pixels, not points. There has been several bugs opened around
this issue, with more or less misleading guesses. See for instance
#314114. Thanks to Behdad for finally noticing the real problem
here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-05-22 Behdad Esfahbod <behdad@gnome.org>
Bug 342525 – With PangoFc and PangoWin32, approximate digit width is
not what it says
* pango/pangocairo-win32font.c (max_glyph_width),
(create_metrics_for_context): Use max digit width instead of average.
Reverted the following changes:
* pango/pangowin32.c (pango_win32_font_get_metrics): Calculate
average digit width correctly, not as max of the digit
widths. (#342525) Note that this code doesn't really get much used
currently (instead the code in pangocairo-win32font.c is used),
fixed only for completeness.
(max_glpyh_with): Now unused, drop.
|
|
|
|
|
|
|
|
|
|
|
| |
2006-05-22 Tor Lillqvist <tml@novell.com>
* pango/pangowin32.c (pango_win32_font_get_metrics): Calculate
average digit width correctly, not as max of the digit
widths. (#342525) Note that this code doesn't really get much used
currently (instead the code in pangocairo-win32font.c is used),
fixed only for completeness.
(max_glpyh_with): Now unused, drop.
|
|
|
|
|
|
|
|
|
|
| |
2006-02-28 Tor Lillqvist <tml@novell.com>
* pango/pangowin32-private.h (PING)
* pango/pangowin32.c
* modules/basic/basic-win32.c: Use g_print() instead of printf()
for debugging output, to enable easy redirection using GLib
facilities. (#332855)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-02-21 Behdad Esfahbod <behdad@gnome.org>
* pango/fonts.c, pango/glyphstring.c, pango/pango-fontmap.c,
pango/pango-ot-buffer.c, pango/pangocairo-font.c, pango/pangoft2.c,
pango/pangoxft-font.c, pango/shape.c: Change g_critical to g_warning.
We already handle them gracefully.
Bug 331994 – --disable-debug removes G_DISABLE_CAST_CHECKS
Patch from charlet@act-europe.fr
* configure.in: Do not lose PANGO_DEBUG_FLAGS when reassigning.
Bug 331995 – pango_layout_set_text optimization
Patch from charlet@act-europe.fr
* pango/pango-layout.c: Do not validate input text if asserts are
disabled. Moreover, do not truncate input text on invalid sequence.
Bug 331996 – avoid crashes in win32 font handling
Patch from charlet@act-europe.fr
* pango/pangofc-fontmap.c, pango/pangowin32-fontmap.c,
pango/pangowin32.c: if (!font) return NULL in a number of places.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-02-04 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-types.h: Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to
not overlap with PANGO_GLYPH_UNKNOWN_FLAG (0x10000000).
Define PANGO_GET_UNKNOWN_GLYPH(wc) that simply returns
wc|PANGO_GLYPH_UNKNOWN_FLAG.
* docs/pango-sections.txt, docs/tmpl/glyphs.sgml: Document new
symbols.
* modules/*/*.c: Use PANGO_GET_UNKNOWN_GLYPH instead of various
backend-specific functions.
* pango/pangofc-font.c, pango/pangoft.c, pango/pangoxft-font.c,
* pango/pangowin32.c, pango/pangox.c: Suggest using
PANGO_GET_UNKNOWN_GLYPH in docs.
* pango/pangofc-font.h: Deprecate pango_fc_font_get_unknown_glyph().
* pango/pangowin32.h: Deprecate pango_win32_get_unknown_glyph().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-02-02 Behdad Esfahbod <behdad@gnome.org>
Finish the 'glyph 0' work of this morning:
PANGO_GLYPH_NULL that I introduced is renamed to
PANGO_GLYPH_EMPTY. It means, no rendering should
be performed. The backends however, still return
0 if a glyph is not found. The modules then are
free to replace this 0 glyph with an unknown
character.
* modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c,
modules/basic/basic-fc.c, modules/basic/basic-win32.c,
modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c,
modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c,
modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c,
pango/pangox.c, pango/pangowin32.c:
Adapt to above change. Backends return 0 if glyph not
found.
* pango/fonts.c (pango_font_get_glyph_extents): If font
is not usable (!PANGO_IS_FONT (font)), return the generic
UNKNOWN_GLYPH metrics. This is used when your backends
are misconfigured and you don't find *any* font at all.
* pango/pango-engince.c: Add unknown glyphs in fallback
shaper, instead of empty glyphs.
* pango/shape.c: Call the fall-back shaper if shaper
fails, instead of generating a dummy glyph string ourselves.
* pango/pango-layout.c (imposed_shape, shape_tab): Use
PANGO_GLYPH_EMPTY instead of glyph 0.
* pango/pango-renderer.c (pango_renderer_draw_glyph): No-op on
PANGO_GLYPH_EMPTY instead of glyph 0.
* pango/pangocairo-atsuifont.c, pango/pangocairo-win32font.c,
pango/pangocairo-fcfont.c, pango/pangocairo-font.c,
pango/pangocairo-private.h: install_font returns a boolean now.
* pango/pangocairo-render.c, pango/pangoxft-render.c: Handle font
and hex-box failures more gracefully by drawing a generic
unknown-box glyph.
* pango/pangoft2.c, pango/pangoft2-render.c: Draw the generic
unknown-box glyph here too. For unknown glyphs though, if
the font is TTF (FT_IS_SFNT), use the zero-indexed glyph,
otherwise, draw a box of proper size.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-02-02 Behdad Esfahbod <behdad@gnome.org>
* modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c,
modules/basic/basic-fc.c, modules/basic/basic-win32.c,
modules/basic/basic-x.c, modules/hangul/hangul-fc.c,
modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c,
modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c,
modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c,
pango/fonts.c, pango/pango-engine-private.h pango/pango-types.h,
pango/pangocairo-fcfont.c, pango/pangocairo-font.c,
pango/pangocairo-private.h, pango/pangocairo-render.c,
pango/pangofc-decoder.c, pango/pangofc-font.c,
pango/pangoft2-render.c, pango/pangoft2.c pango/pangowin32.c,
pango/pangox.c, pango/pangoxft-font.c pango/pangoxft-private.h,
pango/pangoxft-render.c, pango/shape.c: Use PANGO_GLYPH_NULL for
when no glyph should be drawn. Use PANGO_GLYPH_UNKNOWN_FLAG for
all backends to mark unknown flags. There's no need for
pango_font_get_unknown_glyph() anymore, since all backends know
how to handle PANGO_GLYPH_UNKNOWN_FLAG gracefully. We may add
that in the future however. (fixes bug #73147, closes bug #329524)
|
|
|
|
|
|
|
|
| |
2006-01-28 Behdad Esfahbod <behdad@gnome.org>
* pango/pangofc-font.h, pango/pangoft2-render.c, pango/pangowin32.c,
pango/pangoxft-render.c, docs/tmpl/xft-fonts.sgml,
docs/tmp/atsui-fonts.sgml: Documentation improvements.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2006-01-21 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-types.h, pango/pango-utils.h
(pango_matrix_get_font_scale_factor): Make matrix parameter const.
* pango/fonts.c, pango/pango-context.c, pango/pango-coverage.c,
pango/pango-fontset.c, pango/pango-layout.c, pango/pango-renderer.c,
pango/pango-types.h, pango/pango-utils.c,
pango/pangocairo-atsuifont.c, pango/pangofc-font.c,
pango/pangoft2-fontmap.c, pango/pangowin32-fontmap.c,
pango/pangowin32.c, pango/pangox-fontmap.c, pango/pangoxft-font.c:
Replace "Returns:" with "Return value:" in docs.
|
|
|
|
|
|
|
| |
2006-01-14 Behdad Esfahbod <behdad@gnome.org>
* */*.c, */*/*.c: Make sure #include <config.h> is the first include
in the file. (bug #158870, based on patch by Luis Menina)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-09-14 Tor Lillqvist <tml@novell.com>
* pango/pangocairo-win32font.c (struct _PangoCairoWin32Font): Have
a list of metrics by language instead of just one metrics.
(pango_cairo_win32_font_get_scaled_font): Use the name cwfont
instead of cffont.
(free_metrics_info, pango_cairo_win32_font_finalize): Free the
metrics by language list.
(create_metrics_for_context): New helper function. Approximate the
character and digit widths correctly. (#314114)
(pango_cairo_win32_font_get_metrics): Use the list of metrics by
language. Call create_metrics_for_context() to measure metrics.
(_pango_cairo_win32_font_new): Keep the PangoWin32Font objects in
the PangoWin32Face::cached_fonts, like the pangowin32 backend
does.
PangoWin32Face::cached_fonts isn't really a proper cache. It's a
list with unbound length, one PangoWin32Font per size. Once there
is cacheing in cairo this can be dropped presumably? What does the
pangofc backend do? There are too many levels of cacheing going
on: we have the stuff in pangowin32-fontcache.c (unused now with
cairo), the PangoWin32FontMap::freed_fonts cache, and the
PangoWin32::cached_fonts list.
* pango/pangowin32-fontmap.c (pango_win32_fontmap_cache_remove,
pango_win32_fontmap_cache_clear): Use GQueue API instead of
manipulating pointers manually.
* pango/pangowin32-private.h
* pango/pangowin32.c: Move PangoWin32MetricsInfo to the private
header file, as also pangocairo-win32font.c uses it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-07-22 Tor Lillqvist <tml@novell.com>
* pango/pangowin32.c: No need to include modules.h here any
longer.
(pango_win32_get_context): Remove unused variable.
(pango_win32_render_layout_line): Fix underlining. (#304692)
Mention in the doc comment that the DC's text alignment needs to
have TA_BASELINE and TA_LEFT for underlining to be correct.
* pango/pangowin32-fontmap.c: Include modules.h here instead.
(pango_win32_font_map_class_init): Define variable i.
|
|
|
|
|
|
|
|
|
| |
2005-07-21 Owen Taylor <otaylor@redhat.com>
* pango/pangowin32-fontmap.c (pango_win32_font_map_class_init)
Move registration of included modules to here from
pango/pangowin32.c (pango_win32_get_context). (#309337, Hans
Breuer)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-07-19 Owen Taylor <otaylor@redhat.com>
* pango/pango-fcfontmap.[ch]: Rework handling of context-specific
options: drop get_render_key() and add a opaque "context
key" (get_context_key() and friends). Also add a function to get
the resolution.
* pango/pango-fcfontmap.c pango/pangofc-font.h:
- Move the 'lang' into the fontset key lookup and get rid of the
funky list-of-hash-tables
- Make lookups of fontsets and fonts dependent on the context key
for the context.
- Simplify the pattern/fontset caching to have one finite-size
cache rather than an infinite first-level and a finite-size
second level.
* pango/pangocairo.h pango/pangocairo-private.h
pango/pangocairo-fontmap.c: Add
pango_cairo_context_get/set_resolution(),
pango_cairo_context_set/get_font_options to allow controlling the
resolution and font rendering options for a specific PangoContext.
* pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap
pango/pangocairo-win32font.c: Implement resolution and font
options handling adapt to related Cairo changes.
* docs/pango-sections.txt docs/Makefile.am pango/pangowin32.c:
Doc updates and build fixes.
* pango/pangofc-fontmap.c (pango_fc_make_pattern): Create
patterns with FC_SIZE as well as FC_PIXEL_SIZE to work around
a libgnomeprint bug. (#309477)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-04-28 Tor Lillqvist <tml@novell.com>
* pango/pangocairo-win32font.c (pango_cairo_win32_font_get_font_face):
Correct parameters passed to MultiByteToWideChar(). Pass -1 as
source string length so that the target string gets
zero-terminated. Size of target array is in number of WCHARs, not
number of bytes.
Add support to pangowin32 for TrueType fonts with coverage outside
the BMP. Fix handling of surrogate pairs in the Uniscribe
shaper. (#302238)
* pango/pangowin32-private.h (PangoWin32Face): Rename the
unicode_table field to cmap. Keep track of its format (4 or 12).
(format_12_cmap): Add struct for a format 12 cmap.
* pango/pangowin32.c: Corresponding changes. Rename internal
functions a bit.
(get_format_12_cmap): New function, reads a format 12 cmap.
(font_get_cmap): Look for both format 12 (which is preferred) and
format 4 cmaps.
(pango_win32_font_get_glyph_index,
pango_win32_font_calc_coverage): Handle also format 12 cmaps.
* modules/basic/basic-win32.c: Handle surrogate pairs in wchar_t
strings properly.
(unichar_index): New function. Given a wchar_t string and an index
into it, calculate the index of the corresponding Unicode
character. Each surrogate pair in the wchar_t is just one Unicode
character.
(set_up_pango_log_clusters, itemize_shape_and_place): Use
unichar_index() instead of direct index into wchar_t string.
|
|
|
|
|
|
|
|
|
|
|
| |
2005-04-07 Owen Taylor <otaylor@redhat.com>
* pango/pangocairo-fcfont.c pango/pangocairo-win32font.c
pango/pangocairo-render.c: Update to new Cairo font API.
* pangpopangowin32.h pango/pangowin32-private.h pango/pangowin32.c
pango/pangocairo-win32font.c modules/basic/basic-win32.c: Rename
get_scale_factor() to get_metrics_factor() to match Cairo
|
|
|
|
|
|
|
|
|
| |
2005-03-18 Hans Breuer <hans@breuer.org>
* pango/pango.def pango/pangocairo.def : updated externals
* pango/pangowin32.c(pango_win32_render_transformed) : matrix elements
xy and yx are needed the other way around for XFORM
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-02-24 Owen Taylor <otaylor@redhat.com>
* pango/pangocairo-win32.h pango/pangocairo-win32font.c
pango/pangocairo-win32fontmap.c pango/Makefile.am:
PangoCairoFontMap for win32 fonts.
* pango/pangocairo-fontmap.c: Use PangoCairoWin32FontMap
when available.
* pango/pangowin32.h pango/pangowin32-fontmap.h pango/pangowin32.c:
Add virtual pango_win32_font_select_font()
to prepare a DC for use with a PangoWin32Font, and to release,
pango_win32_font_scale_font() to get logical unit => Pango units scale,
pango_win32_font_done_font() to release resources.
* pango/pangowin32-fontmap.[ch]: Add a find_font() virtual method
to allow subclasses that change how PangoFont lookup and
creation happens.
* pango/pangowin32-fontmap.c: Move initialization into
pango_win32_font_map_init() to facilitate derivation.
* pango/pangowin2.c pango/pangowin32-fontmap.c
pango/pangowin32-private.h: Move PangoWin32Font/PangoWin32FontMap
definitions into pangowin32-private.h to allow derivation for
PangoCairoWin32Font.
* modules/basic/basic-win32.c: Use pango_win32_font_select_font()
and friends.
* modules/basic/basic-win32.c: Use g_utf8_to_utf16 instead
of g_convert for simplicity and speed.
* pango/fonts.c (pango_font_get_font_map) pango/pango-font.h
pango/pangofc-font.c pango/pangowin32.c pango/pango.c pango/pango.def
docs/pango-sections.txt: Add a virtual function to get the fontmap
for a font.
* pango/pangocairo-render.c: Use pango_font_get_font_map()
rather than PangoFcFontMap hack.
* pango/pango-types.h: Move the declaration of PangoFontMap here
to avoid interactions between pango-font.h and pango-fontmap.h.
* pango/pangocairo.h: Remove accidental include
of pangofc-fontmap.h.
|
|
|
|
|
|
|
|
|
| |
2004-12-18 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32-private.h
* pango/pangowin32.c (pango_win32_font_get_metrics): Cache metrics
by language, like the other backends do. Don't try to get the
width of the 0..9 digit string if the font doesn't cover digits.
|
|
|
|
|
|
|
| |
2004-12-14 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32.c (pango_win32_font_get_metrics): Set also
underline and strikethrough position and thickness. (#161205)
|
|
|
|
|
|
|
|
|
|
| |
2004-11-21 Hans Breuer <hans@breuer.org>
* pango/makefile.msc : updated
* pango/pangowin32.[ch] pango/pangowin32.def : implement
pango_win32_render_transformed() by using the transformation
capabilities of GDI (not available on win9x)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-08-06 Hans Breuer <hans@breuer.org>
* pango/pango.def pango/pangoft2.def pango/pangowin32.def
pango/makefile.msc : updated
* pango/pangofc-decoder.c : static the pango_fc_decoder_*init
implementations
* pango/pangowin32.c : remove the duplicated, empty implementation
of pango_win32_font_init(), also replace parent_class variable
with pango_win32_font_parent_class as defined by G_DEFINE_TYPE
* modules/basic/basic-win32.c : implement basic_engine_covers
* pango/testfonts.c : iterate three common font names as was
intended orginally and said in the comment for years
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sat Jul 10 17:33:38 2004 Owen Taylor <otaylor@redhat.com>
* pango/pangoft2-private.h pango/pangoft2-render.c
pango/pango-context.[ch] pango/pangoft2.[ch] pango/pango-utils.
pango/pango-types.h pango/pangofc-fontmap.c: Make PangoMatrix
arguments const where appropriate.
* pango/pango-context.c pango/fonts.c pango/pangofc-font.c
pangofc-fontmap.c pango/pangoft2.c pango/pangoft2-fontmap.c
pango/pangoxft-font.c pango/pangoxft-fontmap.c
pango/pangowin32-fontmap.c: Use G_DEFINE_TYPE comprehensively.
* pango/pangoft2-private.h pangoft2.c: Un-staticify
pango_ft2_font_get_type.
|
|
|
|
|
|
|
|
| |
Sun Feb 29 15:54:51 2004 Owen Taylor <otaylor@redhat.com>
* pango/pangowin32.c pango/pangox.c pango/pangoft2.c:
Fix up off-by-one for right bound when drawing
PANGO_UNDERLINE_ERROR.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch from Nicolas Setton, #114237
* pango/pango-attributes.h pango/pango-markup.c: Add a
new underline type, PANGO_UNDERLINE_ERROR.
* pango/pangowin32.c pango/pangox.c pango/pangoft2.c:
Implement drawing of PANGO_UNDERLINE_ERROR.
* pango/pango-layout.c (pango_layout_run_get_extents):
Handle PANGO_UNDERLINE_ERROR.
|
|
|
|
|
|
|
|
|
| |
2003-02-19 Noah Levitt <nlevitt@columbia.edu>
* pango/pangofc-font.c (pango_fc_font_get_metrics):
* pango/pangowin32.c (pango_win32_font_get_metrics): Make
approximate_digit_width the width of the widest digit, rather than the
average.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-12-13 Hans Breuer <hans@breuer.org>
* pango/pango.def pangoft2.def : moved pango_fc_*
to the latter where they live on *nix too.
* pango/makefile.msc : make it build again (including
the Ft2 backend)
* pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined
include the basic backend shaper
* pango/pangowin32.c (pango_win32_render_layout) :
initialize iter before first usage to avoid immediate crashing
* pango/opentype/makefile.msc
pango/modules/makefile.msc : finally build with mscv, too.
[completely untested cause I'm not able to type, write or read
any of these languages]
* modules/modules.def : follow module function renaming/changes
* modules/basic/basic-win32.c : register the right engine, i.e.
make it compile
|
|
|
|
|
|
|
|
|
|
| |
2003-04-02 Sven Neumann <sven@gimp.org>
* pango/pangoft2.c (pango_ft2_render_layout)
* pango/pangowin32.c (pango_win32_render_layout)
* pango/pangox.c (pango_x_render_layout): use a PangoLayoutIter to
iterate over the lines and let render_layout_line() do the actual
rendering. Fixes bug #105292.
|
|
|
|
|
|
|
|
| |
2003-01-29 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32.c (pango_win32_font_calc_coverage): Break out
of loop if char is 0xFFFF. Some fonts have tables terminated like
this.
|
|
|
|
|
| |
* docs/tmpl/pango-indic.sgml: Document PangoIndicScript.
* pango/pangowin32.c (pango_win32_get_dc): Document.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* pango/pangoxft-fontmap.c:
* pango/pangoxft-font.c:
* pango/pangowin32.c:
* pango/pangoft2-fontmap.c: Mark 1.2 API additions, fix some
doc comments.
* pango/pangoft2-fontmap.c
(pango_ft2_font_map_set_default_substitute): Implement this
function. (#99850)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-22 Tor Lillqvist <tml@iki.fi>
* configure.in: Add --with-usp10 flag to indicate where to find
the usp10.h header, for using Uniscribe on Win32. Set USP10_H
autoconf variable, HAVE_USP10_H config.h macro and HAVE_USP10_H
automake conditional.
* acconfig.h: Add HAVE_USP10_H.
* pango/pangowin32-private.h (PANGO_WIN32_DEBUGGING): Change
semantics of this flag. If defined, also need to set env var
PANGO_WIN32_DEBUG to get the copious debugging output.
Change PING() macro accordingly. Add variable pango_win32_debug.
* pango/pangowin32.c (pango_win32_get_dc): New function. Code
factored out from pango_win32_font_class_init() and
pango_win32_font_map_class_init().
(pango_win32_get_debug_flag): New function.
(pango_win32_render): Handle y offsets, too. Potentially need to
call ExtTextOutW several times, one for each run of sequential
glyphs with the same y offset.
* pango/pangowin32.h: Declare above new functions, in the part
only for shaper engine use.
* pango/pangowin32.def: Export above new functions.
* pango/pangowin32-fontmap.c (pango_win32_font_map_class_init):
Call pango_win32_get_dc() as mentioned above.
* modules/basic/Makefile.am: If HAVE_USP10_H, let basic-win32.lo
depend on usp10.h.
* modules/basic/basic-win32.c: If HAVE_USP10_H, and the Uniscribe
DLL usp10.dll is present, use Uniscribe.
(uniscribe_shape, itemize_shape_and_place,
set_up_pango_log_clusters, convert_log_clusters_to_byte_offsets,
make_langid, init_uniscribe): New functions.
(dump_glyphs_and_log_clusters, lang_name, charset_name): Debugging
functions.
|
|
|
|
|
|
|
|
|
|
| |
Mon Oct 14 15:39:41 2002 Manish Singh <yosh@gimp.org>
* pango/pango-context.c pango/pango-layout.c pango/pangoft2.c
pango/pangowin32-fontmap.c pango/pangowin32.c pango/pangox-fontmap.c
pango/pangox.c pango/pangoxft-font.c pango/pangoxft-fontmap.c
pango/testfonts.c pango/opentype/pango-ot-ruleset.c:
Get rid of unnecessary casts for g_object_{ref,unref}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-24 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32.c: Use PANGO_PIXELS macro throughout instead of
dividing by PANGO_SCALE.
(pango_win32_render): New try. This time handle both glyphs at
code point 0, specifically put there by PangoLayout to indicate
spacing (for tab handling), and actual invalid glyphs noticed by
the shaper. Invalid glyphs are indicated by the flag
PANGO_WIN32_UNKNOWN_FLAG. (Idea taken frompangoxft-font.c)
(pango_win32_get_unknown_glyph): Take also the char as parameter,
return the same char with the above flag ORed in.
(pango_win32_font_get_glyph_extents): If the glyph is flagged as
invalid, look for glyph 0 instead. Use g_win32_error_message() in
warning message instead of numeric error code.
* pango/pangowin32.h: Add the new parameter to the
pango_win32_get_unknown_glyph() declaration. Surround the API used
by shape engines with #ifdef PANGO_ENABLE_ENGINE.
* modules/basic/basic-win32.c: Change call accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-09-21 Tor Lillqvist <tml@iki.fi>
* pango-zip.sh.in: Distribute specifically pango.aliases and
pango.modules, not the whole etc/pango which might contain editor
backup files.
* pango/pangowin32-private.h
* pango/pangowin32*.c: Rename DEBUGGING to PANGO_WIN32_DEBUGGING.
Use plain printf instrad of g_print in the PING macro for
debugging output (to avoid UTF-8 requirement).
* pango/pangowin32.h: Guard against redefinition of _WIN32_WINNT.
* pango/pangowin32-private.h: Remove the FS_VIETNAMESE define, not
needed. Rename PangoWin32Font::face to win32face. Add enum
PangoWin32CoverageLanguageClass, used to classify PangoLanguages
that might have locale-specific coverage of fonts (i.e. CJKV).
Change PangoWin32Face::coverage into an array, coverages. Move
some TrueType macro and struct defines from pangowin32.c
here. Rename them a bit to match the names used in the specs
better. Add declarations for new functions (see below).
* pango/pangowin32.c (pango_win32_get_hfont): Convert
LOGFONT::lfFaceName to UTF-8 before printing.
(pango_win32_render): Revert the change from
2002-09-05. Characters not in a font are supposed to show up at
this stage as invalid glyphs (usually a box). It's up to the
higher layers to filter out TABs and other characters that
shouldn't be visible.
(pango_win32_get_name_header, pango_win32_get_name_record): New
functions, to read the name table header and records from a
TrueType font.
(font_name_in): New function, checks if a font has a name in one
of the spoecial-case languages, or actually locales (zh_TW, zh_CN,
ja, ko, vi). Checks the TrueType name table.
(pango_win32_font_calc_coverage): Take a PangoLanguage parameter,
too. Use it to decide whether to hide the Unified CJKV Ideographs
block in case the font is not for the specified locale. If so, the
coverage for these characters is set to PANGO_COVERAGE_APPROXIMATE.
* pango/pangowin32-fontmap.c: Remove PangoWin32FontMap::faces,
unused. Remove dead _WE_WANT_GLOBAL_ALIASES_ code. Rename
parent_class to font_map_parent_class to match pangox-fontmap.c.
(get_family_name, get_family_name_lowercase): New functions.
Search for an English name for a TrueType font, in case the font
name in LOGFONT::lfFaceName is non-ASCII. (Can one assume that if
it is ASCII, it is the English name? Do some TrueType fonts have
different names in French, German, etc, and does the system return
these if the locale is set to use French, German, etc?)
(pango_win32_insert_font): Don't store LOGFONTs that differ only
in charset. What charset we specify when calling
CreateFontIndirect() is irrelevant, as we are going to use
ExtTextOutW() anyway, i.e. Unicode. Use the English family name
from get_family_name_lowercase(), not the one returned in the
LOGFONT from font enumeration.
Bypass the code that sets up the mapping for monospace, serif and
sans, and the recignition of plain "courier" for "courier new". We
need a pango.aliases anyhow, so let it handle that.
(pango_win32_coverage_language_classify): New function.
(pango_win32_font_entry_set_coverage,
pango_win32_font_entry_get_coverage): Take also a PangoLanguage
parameter, use the corresponding entry in the
PangoWin32Face::coverages array.
* pango/pango-utils.c (pango_get_lib_subdirectory,
pango_get_sysconf_subdirectory): Fix doc comment on Win32
behaviour.
|
|
|
|
|
|
|
|
|
|
| |
2002-09-05 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32.c (pango_win32_render): Render only valid
glyphs. Fix by Florent Duguet. Don't know if this is quite the
correct way to fix the problem of default glyphs (ugly boxes)
showing up, maybe invalid glyphs never should get this far, but be
noticed earlier?
|
|
|
|
|
|
|
| |
Mon Mar 25 15:31:17 2002 Owen Taylor <otaylor@redhat.com>
* pango/pangowin32.c (pango_win32_font_get_metrics): Set
the right font when computing the average digit width.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-03-17 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32-private.h: Add pango_win32_os_version_info
variable, an OSVERSIONINFO struct.
* pango/pangowin32.c: Initialise it.
* pango/pangowin32.h: Set _WIN32_WINNT to 0x0501 before including
<windows.h> to get the ClearType-related macros defined (if recent
enough headers are used).
* pango/pangowin32-fontcache.c (pango_win32_font_cache_load): Set
desired font quality to CLEARTYPE_QUALITY if on XP (or later), and
the system settings ask for ClearType.
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-01-02 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32.c (pango_win32_render_layout_line): Silence gcc
-Wall, initialise a couple of variables.
* pango/pangowin32-fontmap.c: (pango_win32_insert_font): Store
"courier new" also under the name "courier", as that is what
gtk-demo (and presumably often other applications, too?) looks
for.
|
|
|
|
|
|
|
|
|
|
| |
Mon Dec 10 09:18:09 2001 Owen Taylor <otaylor@redhat.com>
* pango/pango-layout.c (pango_layout_index_to_pos):
Fix problem with returned width on lines other than
the first line (#66274).
* pango/pangox,ft2,win32.c (pango_*_render_layout):
Fix problem where indent wasn't honored (#66275).
[ Note, however, there are remaining problems - see, #66626 ]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-23 Hans Breuer <hans@breuer.org>
* testfonts.c : removed the arbitrary limit to 10 fonts.
Instead make the command line params useful again and reduce
the default result bitmap size by decreasing the default
font size.
* pango/pangowin32-fontcache.c (pango_win32_font_cache_load):
Don't always turn on anti-aliasing. Respect the users settings
from 'Properties of Display/Effects'.
* pango/makefile.msc : updated, version 0.22
* pango/pango.def : updated externals
* pango/font.c pango/pango-coverage.c pango-utils.c
pango/pangowin32.c pango/shape.c :
coding style and static correctness
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-11-17 Alexander Larsson <alla@lysator.liu.se>
* configure.in:
Check for LEX and YACC. This will be made optional later,
with the build sources checked in to cvs.
Generate pango/mini-xft/Makefile
* modules/basic/basic-ft2.c:
Use the new pangoft2 API.
* pango/Makefile.am:
Build mini-xft.
Add new files.
* pango/pango-context.[ch]:
Support only one fontmap per context.
Use pango_font_map_load_fontset() and PangoFontset instead
of internal fontset.
* pango/pango-fontmap.[ch]:
New virtual function pango_font_map_load_fontset() and
default implementation that uses pango_font_map_load_font().
* pango/pango-utils.[ch] (pango_lookup_aliases):
Utility function for looking up aliases. This can be
used by backend that has no backend specific aliases.
* pango/pangoft2-fontcache.c:
Removed file.
* pango/pangoft2-fontmap.c:
* pango/pangoft2-private.h:
* pango/pangoft2.c:
* pango/pangoft2.h:
Major rewrite. Doesn't handle fontsets. Uses mini-xft so that
it will always match the PangoXft backend. Simplified the
public API.
* pango/pangowin32.c:
* pango/pangox.c:
pango_context_add_font_map -> pango_context_set_font_map
* pango/pangoxft-font.c:
* pango/pangoxft-fontmap.c:
* pango/pangoxft-private.h:
New code to handle fontsets.
* pango/mini-xft/*:
Mini version of libXft from XFree86 in order to have
the pangoFT2 and pangXft backends have same config files and
generate the same fonts.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* pango/fonts.c, pango/pangoft2.c, pango/pangowin32.c,
pango/pangoxft-font.c, pango/pangox-fontmap.c,
pango/pangoft2-fontmap.c, pango/pangoxft-fontmap.c,
pango/pangowin32-fontmap.c, docs/pango-sections.txt,
docs/tmpl/coverage-maps.sgml, docs/tmpl/fonts.sgml,
docs/tmpl/freetype-fonts.sgml, docs/tmpl/glyphs.sgml,
docs/tmpl/layout.sgml, docs/tmpl/main.sgml, docs/tmpl/modules.sgml,
docs/tmpl/tab-stops.sgml, docs/tmpl/text-attributes.sgml,
docs/tmpl/win32-fonts.sgml: Documentation updates.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-03 Tor Lillqvist <tml@iki.fi>
Add the Win32 GDI Pango backend to autoconfiguration:
* configure.in: Call AC_LIBTOOL_WIN32_DLL. Check for native Win32
or Cygwin, set automake conditional PLATFORM_WIN32. Check for
native Win32, set OS_WIN32. Refactor the
Xrender+Xft+Xft+FreeType.h checks not to use AC_CHECK_LIBs inside
eachother, autoconf 2.52e on Cygwin generated bad shell code for
that. Check for gdi32 library, set automake conditional
HAVE_WIN32. Add the basic-win32 module, add INCLUDED_WIN32_MODULES
and INCLUDE_BASIC_WIN32. Write pango/module-defs-win32.c. Generate
pangowin32*.pc.
* pangowin32.pc.in
* pangowin32-uninstalled.pc.in: New files.
* Makefile.am: Add pangowin32*.pc.in.
* .cvsignore: Add pangowin32*.pc.
* modules/basic/Makefile.am: Add the basic-win32 backend. Use
-no-undefined on PLATFORM_WIN32.
* pango/Makefile.am: Add the Win32 backend. Use -no-undefined on
PLATFORM_WIN32. Use the .def files on OS_WIN32. Link libpangoft2
with GLIB_LIBS.
* pango/pango-utils.c: (DllMain): New function, on
G_OS_WIN32. Used to get the actual DLL name, which is tucked away.
(pango_get_sysconf_subdirectory, pango_get_lib_subdirectory):
(Win32): Append VERSION to the registry key passed to
g_win32_get_package_installation_subdirectory(). Use the real DLL
name from above instead of assuming the DLL has a certain name.
Other Win32 backend fixes:
* pango/pangowin32-fontmap.c: (free_coverages_foreach): Remove, unused.
* pango/pangowin32.c: Remove unused variables.
* pango/pangowin32.def: Add pango_win32_font_get_glyph_index.
* pango/pangowin32.h: Remove pango_win32_font_get_coverage, which
is static.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-21 Hans Breuer <hans@breuer.org>
* pango/pango.def : updated externals
* pango/makefile.msc : build ft2 backend too.
* pango/pangowin32-fontmap.c
- Convert PangoWin32FamilyEntry into PangoWin32Family deriving
from PangoFontFamily.
- Convert PangoWin32FontEntry into PangoWin32Face deriving
from PangoFontFace.
- Change the list_families() method of the PangoWin32FontMap
to list PangoFontFamily * rather than names.
* pango/pangowin32.c : reflect PangoFontDescription api change
* pango/pangowin32.h : don't include pango.h but only the
required headers
* modules/basic/basic-win32.c : #include "pango-engine.h"
* pango/testfonts.c : reflect recent pango api changes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tue Sep 18 15:47:08 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (PANGO_MINOR_VERSION): Up to 0.19.
* pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c
pango/pangoxft-fontmap.c pango/pangoft-fontmap.c pango/pango-context.[ch]
pango/pangox-fontmap.c: Add new PangoFontFace and PangoFontFamily
object types, and change the font listing API to list faces and
families, instead of face names and font descriptions.
* pango/pango-font.h pango/fonts.c: Make PangoFontDescription
an opaque heap-allocated structure, add accessors and
convenience functions.
* pango/pango-font.h pango/pango-private.h: Make PangoFontMetrics
heap allocated, protect the structure definition with
#ifdef PANGO_ENABLE_BACKEND, and add getters for the fields.
* pango/pango-attributes.[ch] ( pango_attr_iterator_get_font):
instead of providing a base font description and one to fill
in, provide a single font description to modify based on
the attributes.
* pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have
a PangoFontDescription by reference, not by value.
* pango/pango-utils.[ch]: make pango_parse_style() and friends
take pointers to individual enumerations instead of to a
PangoFontDescription structure.
* pango/*.c: Fix for the PangoFontDescription and PangoFontMetrics
changes.
* pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am
pango/opentype/Makefile.am: Protect portions with
PANGO_ENABLE_ENGINE to shrink the public API.
* modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE.
* pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: Move
pango_x_font_get_unknown_glyph() into public header since it is
used from modules.
* pango/pango-{context,font,fontmap,modules.utils}.h pango/Makefile.am:
Protect portions with PANGO_ENABLE_BACKEND to shrink the public API.
* pango/*.h: Use G_BEGIN/END_DECLS
* examples/viewer-qt.[cc,h]: Fix for changes to font listing API,
PangoFontDescription.
* pango/pango-indic.h modules/indic/*: Since we install this
header fix it up to Pango conventions, namespece
ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER.
* docs/pango-sections.txt: Updated.
|
|
|
|
|
|
|
|
| |
2001-08-16 Alexander Larsson <alexl@redhat.com>
* pango/pangowin32.c:
Fully convert the truetype unicode table to host endianness when reading it.
Add a cache of one to find_segment since it showed up on a profile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-10 Hans Breuer <hans@breuer.org>
* pango/pangowin32.c (pango_win32_render) : restore
the previously selected font into the device context.
(pango_win32_font_get_glyph_extents) : info->ink_rect.y needs
to be negative to get underlines right
* pango/pangowin32-fontmap.c (pango_win32_font_map_list_fonts) :
Don't g_assert_not_reached () on !family case. This is what
the X version does as well. Testcase for win32: testfonts.c
* pango/testfonts.c : (new file) simple test program for win32
which renders all or selected fonts into a bitmap
* pango/makefile.msc : re-enable testfonts compiling
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-09 Alexander Larsson <alexl@redhat.com>
* pango/pangowin32.h:
* pango/pangowin32-private.h:
* pango/pangowin32.c:
* pango/pangowin32-fontmap.c:
* modules/basic/basic-win32.c:
* pango/pangowin32.def:
Large rewrite of the win32 backend to use real glyph indexes
instead of unicode codes. Also drops the subfont thing, thereby
simplifying the code immensely. This looses some functionality,
but i will add that back soon using global (non backend-specific)
aliases.
This is the first cut, and is not perfect. It still has some issues
and imperfections, but it so clearly better than the current
imlementation that I'm checking it in anyway.
|