| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-30 Tor Lillqvist <tml@iki.fi>
* pango/makefile.mingw.in (DEFINES): Define PANGO_VERSION.
Changes by Hans Breuer:
* pango/pango-layout.c (shape_tab): Add a FIXME comment.
* pango/pango-markup.c (compare_xcolor_entries): Use g_strcasecmp.
* pango/pango-utils.c (pango_get_sysconf_subdirectory): Use second
fallback location if there is no pango subdir in the Windows
directory.
* pango/pangowin32-fontmap.c
(pango_win32_font_entry_get_coverage): Check if fopen succeeded.
* pango/pangowin32-private.h (DEBUGGING): Turn off.
* pango/pangowin32.c (pango_win32_unicode_classify): We can in
fact get out of the loop. Return invalid value in that case.
(subfont_has_glyph): Improve performance a bit.
* pango/querymodules.c: Small change for MSVC build.
* modules/basic/basic-win32.c (basic_engine_get_coverage):
Performance improvement.
* examples/viewer-win32.c (main): Disable double buffering on the
layout widget.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sun Nov 12 16:07:06 2000 Owen Taylor <otaylor@redhat.com>
* configure.in pango/pango-utils.[ch] pango/Makefile.am
pango/mini-fribidi/*: Include a stripped-down version of fribidi
to avoid the extra dependency. No fribidi symbols are
exported so conflicts with the real fribidi should not
happen. Library can optionally be compiled with the
real libfribidi.
* pango/pango-utils.[ch]: Wrappers for
fribidi_ functions when compiling with fribiid.
* modules/basic/basic-ft2.c modules/basic/basic-win32.c
modules/basic/basic.c modules/thai/thai.c pango/Makefile.am
pango/itemize.c pango/pango-context.c pango/pangoft2.c
pango/pangowin32.c pango/pangox.c: Use pango_ versions of fribidi
functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-10-03 Tor Lillqvist <tml@iki.fi>
* pango/pango.def
* pango/pangoft2.def: Add new entry points.
* pango/pango-coverage.c (pango_coverage_set): Remove unnecessary
loop calling memset() with same parameters 64 times ;-)
* pango/makefile.mingw.in (PANGO_OBJS): Add pango-tabs.o.
Some small changes that have been laying around on my disk. The
Win32 and FT2 backends aren't "production quality" yet. For
speedup, need to cache at least the coverage info.
* pango/pangoft2.c (pango_ft2_get_coverage): New function.
* modules/basic/basic-win32.c: Use "BasicScriptEngineLangWin32" to
be unique.
* modules/basic/basic-ft2.c: Add comments explaining what Unicode
ranges the table entries covers. Use "BasicScriptEngineLangFT2" to
be unique.
(basic_engine_get_coverage): Test calling
pango_ft2_get_coverage().
(basic_engine_ft2_new): Set corect engine type. Not that this
apparently is used for anything, the X11 basic shaper module also
sets its type as TYPE_LANG.
* examples/viewer-ft2.c (split_paragraphs): Just end the string
upon encountering an invalid character. Don't return.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-20 Tor Lillqvist <tml@iki.fi>
* pango/pango-utils.c (pango_parse_*): Add parameter telling
whether to print warning or not if string isn't recognised. Use
g_strncasecmp().
* pango/pango-utils.h: Change prototype accordingly.
* pango/pangox-fontmap.c
* pango/pangowin32-fontmap.c: Change calls correspondingly.
* pango/pangowin32.h:
* pango/pangowin32.c: Cosmetic changes, dead code removal.
* pango/pangoft2.h
* pango/pangoft2-private.h
* pango/pangoft2.c
* pango/pangoft2-fontmap.c
* pango/pangoft2-fontcache.c: New files implementing a FreeType2
backend. Used only on Win32 so far, but doesn't contain
Win32-specific code per se, so if somebody wants to try it out on
X11, too, be my guest.
It works, more or less, but there are some details still to sort
out. Performance needs to be improved. Debugging printouts still
present. Font path currently hardcoded to C:\windows\fonts, heh.
Owen says he doesn't think it's a good idea to use ths on Win32,
but I'll try anyway. If it turns out using the native Win32 GDI
backend is better after all, oh well.
* pango/makefile.mingw: Delete. Move contents to
makefile.mingw.in.
* pango/makefile.mingw.in: New file. Add rules for
FreeType2 backend. Add FreeType2 CFLAGS and LIBS.
* pango/Makefile.am: Generate makefile.mingw.
(EXTRA_DIST): Add FreeType2 backend sources, and
makefile.mingw{,.in}
* modules/basic/basic-win32.c: Couple of cosmetic changes.
* modules/basic/Makefile.am: Generate makefile.mingw.
(EXTRA_DIST): Add basic-ft2.c, and makefile.mingw{,.in}
* modules/basic/makefile.mingw: Delete. Move contents to
makefile.mingw.in.
* modules/basic/makefile.mingw.in: New file. Add rule for
basic-ft2. Add FreeType2 CFLAGS and LIBS.
* examples/viewer-win32.c (read_file): Fix error messages.
(draw): Get HDC from GDK once for all paragraphs.
* examples/viewer-ft2.c: New file. The FT_Bitmap (256-level
bitmap) produced by the FreeType2 backend is copied to the
GtkLayout window using gdk_draw_gray_image from GdkRGB (!). Yes,
this is kinda circular dependency between Pango and GTK+.
* examples/makefile.mingw: Delete. Move contents to
makefile.mingw.in.
* examples/makefile.mingw.in: New file. Add rules for
viewer-ft2. Add FreeType2 CFLAGS and LIBS.
* examples/Makefile.am: Generate makefile.mingw.
(EXTRA_DIST): Add viewer-win32.c and viewer-ft2.c, and
makefile.mingw{,.in}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-07-18 Tor Lillqvist <tml@iki.fi>
* pango/Makefile.am (EXTRA_DIST): Add the pangowin32 sources.
* pango/pangox.c (lang_texts): Add some Latin-1 to the
Finnish and Swedish strings.
* modules/module.def: New file.
* modules/Makefile.am (EXTRA_DIST): Add it.
* modules/basic/Makefile.am (EXTRA_DIST): Add basic-win32.c.
* */makefile.mingw: Small updates.
* pango/pangowin32.c
* pango/pangowin32-fontmap.c
* modules/basic/basic-win32.c
* examples/viewer-win32.c: Bug fixes. Remove dead code.
Now the Win32 implementation seems to work, except
for a few glitches.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-07-16 Tor Lillqvist <tml@iki.fi>
* pango/pango-utils.h
* pango/pango-utils.c
* pango/pangox-fontmap.c
* pango/pangowin32-fontmap.c: Move the get_{style,variant,
weight,stretch} functions to pango-utils.c, and rename
them to pango_parse_*. Would otherwise be duplicated in
pangox and angowin32.
* pango/pango.def: Export them.
* pango/pango-font.h: Add PANGO_WEIGHT_ULTRALIGHT,
PANGO_WEIGHT_LIGHT, PANGO_WEIGHT_EXTRABOLD and PANGO_WEIGHT_HEAVY
values to PangoWeight.
* pango/pango-utils.c: Recognize the new weight strings.
* pango/pangowin32.c (pango_win32_list_subfonts): Don't g_free the
subfont_list from the subfonts_by_subrange hash table...
* pango/pangowin32-fontmap.c (pango_win32_font_map_read_alias_file):
Also set the other properties in the LOGFONT, not only the face name.
(pango_win32_insert_font): Insert a pointer to a freshly allocated
LOGFONT in the hash table, not the one passed in as a parameter,
which could be (and in fact, *is*) a pointer to an auto
variable. Quantize the description weight values to exact
PANGO_WEIGHT_* values.
(pango_win32_get_unknown_glyph): Use subfont 1.
* examples/viewer-win32.c: (split_paragraphs): Don't include the
newline.
(draw): Correct 1st parameter to gdk_win32_hdc_{get,release}.
|
|
2000-07-15 Tor Lillqvist <tml@iki.fi>
* pango/pangowin32.h
* pango/pangowin32-private.h
* pango/pangowin32-fontcache.c
* pango/pangowin32-fontmap.c
* modules/basic/basic-win32.c
* examples/viewer-win32.c
* examples/pangowin32.aliases: New files. Start of a Win32
implementation. Does not work yet.
* configure.in: Chek for dirent.h and unistd.h.
* pango/pango-utils.h
* pango/pango-utils.c (pango_get_sysconf_subdirectory,
pango_get_lib_subdirectory): New functions, for better
portability, to enable installation-time choice of directory (on
Windows) instead of compile-time. Use these instead of SYSCONFDIR
"/pango" and LIBDIR "/pango".
(pango_split_file_list): Fix comment, the function splits on
searchpath separators, not commas. Use G_SEARCHPATH_SEPARATOR_S
for portability. Don't try to expand '~' as home directory on
Windows.
(read_config): Use pango_get_sysconf_subdirectory().
* pango/modules.c (read_modules): Use pango_get_sysconf_subdirectory().
Don't crash if a module file cannot be opened.
* pango/querymodules.c: Include config.h Conditionalize inclusion
of dirent.h and unistd.h. Use platform-specific shared library
extension. Use pango_get_lib_subdirectory().
|