| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Similar to d9e254f which changed the rest of the modules, moved the
PANGO_MODULE_PREFIX define from basic-win32.c to the VS9 project file to
avoid breaking autotools build.
Fixes basic-win32 module loading when pango is built with autotools +
MinGW.
|
|
|
|
|
|
|
| |
Dont load usp10.dll dynamically with LoadLibrary(). Just link to the
Uniscribe API directly. MinGW comes with an import library so no
problem with that either. The Uniscribe DLL is present on all versions
of Windows we care for.
|
|
|
|
|
|
|
| |
The use of Uniscribe script caches was decidedly suboptimal. Use one
persistent SCRIPT_CACHE per Win32 font and script.
Patch by by David E. Hollingsworth and Fredrik Corneliusson, from bug
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The VS files are kept in build/win32/vs9, the same relative location
as in GLib, mostly for historical reasons.
Update README.win32 to reflect the VS possibility.
Include the VS solution and project files in the tarball when doing a
release.
To avoid having to list source files in several locations, generate
files listing source files at "make dist" time in the corresponding
source directories. Use the C preprocessor to preprocess .vcprojin
files that include said list files into the actual .vcproj project
files.
Provide a rc file for the pangocairo DLL, too.
Construct and provide in the tarball a pregenerated config.h.win32
which can be used as config.h when building with Visual C without
running any configure script. Provide pregenerarated
module-defs.h.win32, module-defs-lang.c.win32 files too.
Define PANGO_MODULE_PREFIX appropriately in the relevant module source
files if not available from the compilation command line.
Update module-defs-fc.c.win32 and module-defs-win32.c.win32 to match
what the configure script provides.
|
|
|
|
|
|
| |
Unfortunately this change breaks complex script shaping.
This reverts commit ea608c0bd7721d3019bed7ef2472289b1ea6fa53.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A few weeks ago I reported a performance issue regarding the use of
Uniscribe in the win32 basic shaper.
It turns out that the issue was with the use of Uniscribe's
SCRIPT_CACHE. Despite the name, this value is for caching
per-font-plus-size values, not per-script values. See:
http://msdn.microsoft.com/en-us/library/dd317726(VS.85).aspx
Since shaping occurs on runs containing a single font, we only need
one SCRIPT_CACHE in uniscribe_shape. I'm including a patch below that
does this. With the patch applied, the time for one of my tests went
from 20s to .3s.
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-06-21 Johan Dahlin <jdahlin@async.com.br>
* *.[ch]: Include "config.h" instead of <config.h>
Command used:
find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
Rubberstamped by Behdad
svn path=/trunk/; revision=2657
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2008-02-25 Tor Lillqvist <tml@novell.com>
Bug 515484 -- Uniscribe interface handles surrogate
pairs incorrectly
* modules/basic/basic-win32.c (itemize_shape_and_place): Pass
correctly offset wchar string to set_up_pango_log_clusters() so
that when it passes the string on to unichar_index() it notices
the surrogate pairs correctly.
svn path=/trunk/; revision=2574
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2007-07-05 Behdad Esfahbod <behdad@gnome.org>
* modules/basic/Makefile.am:
* modules/basic/basic-fc.c:
* modules/basic/basic-win32.c:
* modules/basic/basic-x.c:
* modules/basic/basic-common.h:
Remove unused empty header file basic-common.h
svn path=/trunk/; revision=2370
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
2007-01-16 Behdad Esfahbod <behdad@gnome.org>
*.c, *.h: Drop trailing whitespace.
svn path=/trunk/; revision=2163
|
|
|
|
|
|
|
|
|
|
| |
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-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-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-13 Tor Lillqvist <tml@novell.com>
* modules/basic/basic-win32.c: Drop unused font_cache variable and
the call to pango_win32_font_map_for_display() used in its
initialization, which caused an extra instance of
PangoWin32FontMap to be created, and fonts enumerated an extra
time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-07-23 Behdad Esfahbod <pango@behdad.org>
* pango/pango-utils.c, pango/pango-utils.h (pango_is_zerowidth): New
function added.
* modules/basic/basic-common.h, modules/basic/basic-fc.c,
modules/basic/basic-win32.c, modules/basic/basic-x.c,
modules/hangul/hangul-fc.c, modules/arabic/arabic-fc.c,
modules/indic/indic-fc.c, modules/indic/indic-ot.h,
modules/syriac/syriac-fc.c: Use the new pango_is_zerowidth function.
(#306639, Behnam Esfahbod)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-20 Tor Lillqvist <tml@novell.com>
* modules/basic/basic-win32.c (make_langid): Leave out some
languages that don't have any own digits.
(itemize_shape_and_place): Force fRTL for each item returned from
ScriptItemize() to the bidi embedding parity for the whole
run. Pango passes us a run that it correctly has analyzed should
be of a certain direction, but ScriptItemize() still might split
it into items, some of which have neutral direction. (#170931)
(text_is_simple): Use g_utf8_to_utf16().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Wed Dec 15 23:13:57 2004 Owen Taylor <otaylor@redhat.com>
* modules/basic/basic-win32.c (uniscribe_shape): Emergency
fix for #151068... if uniscribe shaping comes up with
no glyphs, fall back to non-uniscribe shaping.
|
|
|
|
|
|
|
|
|
|
|
| |
2004-09-25 Tor Lillqvist <tml@iki.fi>
* pango/pango.def: Add the new pango_renderer_* symbols.
* modules/basic/basic-win32.c (basic_engine_covers,
basic_engine_win32_class_init): Remove the implementation of the
covers method. It was wrong anyway, and unnecessary. No need to
override the default implementation. (#152997)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
2004-02-28 Hans Breuer <hans@breuer.org>
* pango/modules/basic/basic-win32.c : use uniscribe_scripts instead of
uniscribe_ranges (does show only with HAVE_USP10_H, which I don't)
patch from J. Ali Harlow <ali@juiblex.co.uk>, fixes bug #135504
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-12-08 Tor Lillqvist <tml@iki.fi>
* modules/basic/basic-win32.c (convert_log_clusters_to_byte_offsets):
Simplify.
(itemize_shape_and_place): Fix problem with RTL scripts: If
ScriptItemize() returns several items, must handle them in reverse
order. (#128812, reported by Shoshannah Forbes)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tue Sep 23 18:03:57 2003 Owen Taylor <otaylor@redhat.com>
* pango/pango-engines.[ch] pango/pango-engines-private.h:
Modules now declare a list of scripts that they cover instead of a
list of code point ranges. Also, there is now a ->covers() virtual
function that allows a module to decide live whether the font
covers a particular codepoint; remove old get_coverage() method.
* pango/pango-fontset.[ch]: Add a foreach() function to
iterate over all the fonts in a fontset (with a true
return stopping iteration).
* pango/pango-context.c: Complete rewrite using script-run
information to improve language tags. Switch to an approach
where we handle one run at a time rather than computing
information for each character individually then later
breaking the result into runs.
* pango/pango-fontset.[ch]: Switch over to using
pango-impl-utils.h.
* modules/basic/basic-x.c pango/pangox-fontmap.c: Adapt to
the change from get_coverage => covers.
* pango/pango-modules.h pango/modules.c: Switch PangoMap
over to being based on script rather than being based
on codepoint. Remove the no longer needed pango_map_get_entry().
* pango/modules.c: Handle new script-based modules.
* pango/pango-fc-fontmap.c pango/pango-win32-fontmap.c
pango/pang-fontmap.[ch]: Add a shape_engine_type field
to PangoFontmapClass, pango_font_map_get_shape_engine_type();
this allows generic code to find a shaper for a particular
fontmap.
* pango/pango-script.[ch]: Add pango_script_get_sample_language(),
pango_language_includes_script(); functions for determining
the relationship between scripts and language.
* tools/gen-script-for-lang.c: Modify to spit out a
useful table.
* pango/pango-script-lang-table.h: Version of table
generated from current fontconfig data.
* pango/pangox.c: Remove complicated code to compute
coverages; no longer useful now that we just have
the basic shaper as a legacy thing.
* modules/*/*.c: Adapt to identifying shape engines
by language range.
* modules/thai/thai-fc.c modules/thai/thai-shaper.[ch]:
Remove now unused "has_glyph" function and XTIS support.
* modules/thai/thai-fc.c: Handle non-Thai characters
as well, since the Thai module now gets spaces,
punctuation, and so forth.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-08-05 Tor Lillqvist <tml@iki.fi>
* modules/basic/basic-win32.c (text_is_simple): New function. Uses
the Uniscribe ScriptIsSimple() function to check if Uniscribe
shaping is needed for a piece of text.
(basic_engine_shape): Use it, to avoid calling Uniscribe to shape
non-complex text. Produces dramatic speedup according to tests by
Hans Breuer.
(init_uniscribe): No need for the PANGO_WIN32_NO_UNISCRIBE
environment variable any longer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sat Aug 2 23:19:16 2003 Owen Taylor <otaylor@redhat.com>
* pango/pango-engine.[ch] modules/*/*-{fc,win32,x}.c
pango/modules.c pango/break.c pango/pango-context.c
pango/pango-layout.c pango/pango-modules.h
pango/querymodules.c pango/shape.c: Make
PangoEngine{,Lang,Shape} GObjects, and use a
GTypeModule-based module-loading system closely based
on the one used for GtkIMContext and GtkThemeEngine.
* pango/pango-impl-utils.h: OK, I'm tired of typing
in get_type() functions.
* pango/pango-script.[ch] pango/pango-script-table.h
tests/testscript.c tools/gen-script-table.pl: Add port
of script-range code from ICU in preparation for future
use. (#91542)
* tools/gen-script-for-lang.c: Utility program to determine
the script for each fontconfig .orth file.
* docs/tmpl/{scripts.sgml,pango-engine-lang.sgml,
pango-engine-shape.sgml} docs/pango-sections.txt docs/pango-docs.sgml:
Redo to go along with the above changes.
* configure.in: chmod +x tests/runtests.sh
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-07-20 Hans Breuer <hans@breuer.org>
* pango/makefile.msc : updated to generate libtool
compatible dll names, define the right PANGO_MODULE_PREFIX,
pangoft2 still not build with msvc
* module/basic-win32.c : some #ifdef's for missing
LANG_* constants to make it compile with msvc50
* pango/pango.def : updated externals
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mon Apr 14 06:02:34 2003 Owen Taylor <otaylor@redhat.com>
* modules/thai/{thai-fc.c,thai-shaper.c,thai-x.c}:
* modules/*/*-{xft,x,win32.c} pango/pango-engine.h
modules/*/Makefile.am: Switch over the way that
module entry points work, taking advantage of the
new automake capability for per-target CFLAGS for
shared sources.
* pango/pangofc-font.[ch] pango/pangoxft-font.c
pango/pangoft2.c: Add a base class for
PangoXft and PangoFT2 font classes so code can
be shared between FT2 and Xft backends.
* configure.in modules/*/Makefile.am
modules/{arabic,basic,hangul,hebrew,indic,thai}: Move
*-xft.c to *-fc.c and share between Xft and FT2 backends;
adds FT2 backend capabilities for hangul/indic/thai.
* pango/pangoxft.h pango/pangoft2.h: Deprecate
APIs that moved into PangoFcFont
* modules/basic/basic-fc.c (set_glyph): Add kerning
handling from FT2 backend.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-12 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32-fontcache.c (free_cache_entry,
cache_entry_unref, pango_win32_font_cache_load): Add more
debugging output.
* modules/basic/basic-win32.c (uniscribe_shape): Plug memory leak:
Free return value from pango_win32_font_logfont(). Call
pango_win32_font_cache_unload() for the hfont returned from
pango_win32_font_cache_load() after using it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-10-24 Tor Lillqvist <tml@iki.fi>
* modules/basic/basic-win32.c: Update the non-Uniscribe ranges to
cover some more simple scripts.
(itemize_shape_and_place): Handle unknown glyphs.
(script_engine_list): Only return the "everything" range if
Uniscribe is available. It would be nice to build up a more
specific range list based on the information ScriptGetProperties()
returns. That function lists information about each script the
Uniscribe version used can handle. Unfortunately, though, the
information is severely limited. It doesn't tell what Unicode
blocks a script covers. It only gives one language that uses
that script, and sometimes an charset number, but for most scripts
just the totally useless DEFAULT_CHARSET.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-23 Tor Lillqvist <tml@iki.fi>
* modules/basic/basic-win32.c: Minor spacing fixes, comment the
Unicode ranges covered.
* modules/basic/makefile.mingw.in: Remove. Not maintained.
* modules/basic/Makefile.am: Remove from here, too.
* pango/makefile.msc
* pango/module-defs-win32.c.win32: Change according to change
below so that build also with the manually written makefile for
MSVC, which always uses included modules, still works.
* pango-zip.sh.in: Distribute specifically pango.aliases and
pango.modules, not the whole etc/pango which might contain editor
backup files.
Mon Sep 16 12:03:54 2002 Arnaud Charlet <charlet@gnat.com>
* modules/basic/basic-win32.c: Check for correct macro, use
correct module entry name, so that --with-included-modules works
with autoconfiscated build for Windows. (#93372)
|
|
|
|
|
|
|
|
| |
* modules/basic/basic-*.c modules/basic/basic-common.h: Move
ZERO_WIDTH_CHAR() macro into a common header file, add
ZERO WIDTH-NO BREAK SPACE (U+FEFF)
* modules/basic/Makefile.am (EXTRA_DIST): Add basic-common.h.
|
|
|
|
|
|
|
|
|
|
| |
Mon Mar 25 15:46:54 2002 Owen Taylor <otaylor@redhat.com>
* modules/basic/basic-*.c: Convert U+00A0 (NON BREAK SPACE)
to U+0020 (SPACE)
* modules/basic/basic-xft.c (basic_engine_shape): Remove
some dead code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sat Jun 9 17:36:09 2001 Owen Taylor <otaylor@redhat.com>
* pango/pango-types.h pango/pango-utils.c: Add a new PangoLanguage
type to represent language tags; these can efficiently be compared
and don't need to be copied. Also add pango_language_matches()
to match a language tag against a pattern.
* pango/pango-item.[ch] pango/pango-layout.c: Move extra_attrs
from PangoItem to PangoAnalysis. Add a language tag field to
PangoAnalysis. (#55894)
* pango/pango-attributes.[ch] (pango_attr_iterator_get_font): Return
the language tag as well.
* pango/pango-attributes.[ch]: Rename PangoAttrLang to PangoAttrLanguage,
and make it hold a PangoLanguage.
* pango/pango-context.[ch]: Rename pango_context_{get,set}_lang() to
pango_context_{get,set}_language().
* **.[ch]: Adapt to PangoLanguage and s/lang/language/ changes.
* modules/basic/basic-x.c modules/basic/tables-big.i: Add support
for ordering character sets differently for different language
tags.
* pango/itemize.c: Remove old, unused file.
* pango/pango-context.c (pango_itemize): Reduce number of mallocs
by allocating one array of PangoAnalysis instead of many arrays.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modules/arabic/arabic-x.c:
* modules/arabic/arabic-xft.c:
* modules/basic/basic-ft2.c:
* modules/basic/basic-win32.c:
* modules/basic/basic-x.c:
* modules/hangul/hangul-x.c:
* modules/indic/bengali-x.c:
* modules/indic/devanagari-x.c:
* modules/indic/gujarati-x.c:
* modules/indic/gurmukhi-x.c:
* modules/indic/myanmar-x.c:
* modules/tamil/tamil-x.c:
* modules/thai/thai-x.c:
Change all modules to use a define to the script engine name. Also
Fixes some errors in the names (they were different in the same module).
* pango/.cvsignore:
add module-defs*.[ch]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-12-21 Tor Lillqvist <tml@iki.fi>
* modules/basic/basic-win32.c (script_engine_load): Only a script
engine here.
* pango/makefile.mingw.in: Add the built pango-enum-types.[ch].
* pango/pango.def
* pango/pangoft2.def: Update.
* pango/opentype/pango-ot.def
* pango/opentype/makefile.mingw.in: New files.
* pango/opentype/Makefile.am (EXTRA_DIST): Add them.
* configure.in (included_modules): Generate
pango/opentype/makefile.mingw.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-12-18 Havoc Pennington <hp@redhat.com>
Fix build breakage, reported by Alex Larsson and Yasushi Shoji
* pango/pangox.h: don't include pango.h, just individual headers
* configure.in: check for perl, add --disable-rebuilds configure
option, automatically disable rebuilds if no perl
* pango/Makefile.am: use located perl to run makeenums.pl,
and don't try to rebuild if we did --disable-rebuilds
(EXTRA_DIST): add built headers
* modules/*/*.[hc]: don't include pango.h, include specific headers
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-30 Havoc Pennington <hp@pobox.com>
* modules/thai/thai.c: delete lang engine
* modules/tamil/tamil.c: delete lang engine
(tamil_engine_x_new): fix type tag for shape engine
* modules/indic/myanmar.c: delete lang engine
(pango_engine_x_new): fix type tag for shape engine
* modules/indic/gurmukhi.c: delete lang engine
(pango_indic_engine_x_new): fix type tag for shape engine
* modules/indic/gujarati.c: delete lang engine
(pango_indic_engine_x_new): fix type tag for shape engine
* modules/indic/devanagari.c: delete lang engine
(pango_indic_engine_x_new): fix type tag for shape engine
* modules/indic/pango-indic-script.h (SCRIPT_ENGINE_DEFINITION):
delete lang engine
* modules/indic/bengali.c: delete the lang engine
(pango_indic_engine_x_new): fix type tag for shape engine
* modules/hangul/hangul.c: delete the lang engine
(hangul_engine_x_new): fix type tag for shape engine
* modules/basic/basic.c: delete the lang engine
(basic_engine_x_new): fix type tag for shape engine
* modules/basic/basic-win32.c: delete the lang engine
(basic_engine_win32_new): this was a shape engine,
use correct type tag
* modules/basic/basic-ft2.c: delete the lang engine
* modules/arabic/arabic.c: Delete the lang engine
(arabic_engine_x_new): this is a shape
engine, not a lang engine, fix type tag
* pango/pango-layout.c (pango_layout_index_to_line_x): handle
the fact that paragraph delimiters aren't in the layout lines
(pango_layout_index_to_pos): update to handle paragraph
delimiters
* pango/break.c (pango_find_paragraph_boundary): New function
to find paragraph boundaries
* pango/pango-layout.c (get_items_log_attrs): don't separate calls
to pango_break() when directional level changes
* pango/pango-layout.h (struct _PangoLayoutLine): put start index
of the line into the struct
* pango/pango-layout.c (pango_layout_get_cursor_pos): Fixups to
reflect the fact that paragraph separators are removed from the
input text.
* pango/pango-layout.c (can_break_at): don't
special-case start of line and whitespace-following-alphabetic
here, because pango_break() already handles that properly
* tests/testboundaries.c, tests/Makefile.am, tests/runtests.sh:
Add directory for test programs, and a script to run them all
* configure.in: Create Makefile in tests
* pango/break.c (pango_break): Try for a real implementation of
the Unicode text boundary algorithms
(pango_get_log_attrs): Allow length to be -1
* pango/pango-context.c (pango_itemize): use pango_item_new(),
assert that items added to the list are sane.
* pango/pango-layout.c (pango_layout_check_lines): Reimplement
to honor the paragraph boundaries from pango_break()
* pango/pango-layout.c (process_item): use pango_item_split() here
* pango/pango-item.c (pango_item_split): New function to split an
item into two items
|