summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-06-21 16:19:59 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-06-21 16:19:59 +0000
commit2a98bc6a31dd136058f9068435227cf10713e0ff (patch)
tree53bf4b442175fd18d6be6599dcdf2bf96fd769a4 /modules
parent8a01e98fdf760692c1c90dc0192388a09cb09eb2 (diff)
downloadgtk+-2a98bc6a31dd136058f9068435227cf10713e0ff.tar.gz
Remove use of libunicode in favor of new GLib functions.
Wed Jun 21 11:41:43 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c: Remove use of libunicode in favor of new GLib functions. * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32, nano-x, framebuffer. The X11 include is just a hack until we get the necessary functions in gdkcolor.h, so there is no reason to add other includes of platforms. * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert window bigger than the screen change. * gtk/testgtk.c: Revert some random changes from Elliot that had no particular point and were causing testgtkrc not to function correctly. * gdk/gdkregion-generic.h: Revert change from Elliot. Just because GdkSegment and GdkRegionBox have the same fields, it doesn't mean that 'typedef GdkSegment GdkRegionBox' results in clearer code. * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events, gdk_input_translate_coordinates): Fix missed GdkObjectification
Diffstat (limited to 'modules')
-rw-r--r--modules/linux-fb/basic.c49
1 files changed, 12 insertions, 37 deletions
diff --git a/modules/linux-fb/basic.c b/modules/linux-fb/basic.c
index 51546f0f31..880c4139eb 100644
--- a/modules/linux-fb/basic.c
+++ b/modules/linux-fb/basic.c
@@ -24,7 +24,6 @@
#include <glib.h>
#include <pango/pango.h>
#include "gdkprivate-fb.h"
-#include <unicode.h>
#include <fribidi/fribidi.h>
PangoGlyph
@@ -85,22 +84,6 @@ static PangoGlyph conv_ucs4 (CharCache *cache,
Charset *charset,
const char *input);
-/* From pango/utils.h */
-typedef guint16 GUChar2;
-typedef guint32 GUChar4;
-
-gboolean _pango_utf8_iterate (const char *cur,
- const char **next,
- GUChar4 *wc_out);
-GUChar2 *_pango_utf8_to_ucs2 (const char *str,
- gint len);
-GUChar4 *_pango_utf8_to_ucs4 (const char *str,
- int len);
-int _pango_guchar4_to_utf8 (GUChar4 c,
- char *outbuf);
-int _pango_utf8_len (const char *str,
- gint limit);
-
#include "tables-big.i"
static PangoEngineInfo script_engines[] = {
@@ -189,7 +172,7 @@ char_cache_free (CharCache *cache)
}
PangoGlyph
-find_char (CharCache *cache, PangoFont *font, GUChar4 wc, const char *input)
+find_char (CharCache *cache, PangoFont *font, gunichar wc, const char *input)
{
return FT_Get_Char_Index(PANGO_FB_FONT(font)->ftf, wc);
}
@@ -231,15 +214,13 @@ conv_8bit (CharCache *cache,
{
iconv_t cd;
char outbuf;
- const char *p;
const char *inptr = input;
size_t inbytesleft;
char *outptr = &outbuf;
size_t outbytesleft = 1;
- _pango_utf8_iterate (input, &p, NULL);
- inbytesleft = p - input;
+ inbytesleft = g_utf8_next_char (input) - input;
cd = find_converter (cache, charset);
@@ -255,15 +236,13 @@ conv_euc (CharCache *cache,
{
iconv_t cd;
char outbuf[2];
- const char *p;
const char *inptr = input;
size_t inbytesleft;
char *outptr = outbuf;
size_t outbytesleft = 2;
- _pango_utf8_iterate (input, &p, NULL);
- inbytesleft = p - input;
+ inbytesleft = g_utf8_next_char (input) - input;
cd = find_converter (cache, charset);
@@ -280,10 +259,7 @@ conv_ucs4 (CharCache *cache,
Charset *charset,
const char *input)
{
- GUChar4 wc;
-
- unicode_get_utf8 (input, &wc);
- return wc;
+ return g_utf8_get_char (input);
}
static void
@@ -332,7 +308,6 @@ basic_engine_shape (PangoFont *font,
int n_chars;
int i;
const char *p;
- const char *next;
CharCache *cache;
@@ -343,19 +318,19 @@ basic_engine_shape (PangoFont *font,
cache = get_char_cache (font);
- n_chars = unicode_strlen (text, length);
+ n_chars = g_utf8_strlen (text, length);
pango_glyph_string_set_size (glyphs, n_chars);
p = text;
for (i=0; i < n_chars; i++)
{
- GUChar4 wc;
+ gunichar wc;
FriBidiChar mirrored_ch;
PangoGlyph index;
char buf[6];
const char *input;
- _pango_utf8_iterate (p, &next, &wc);
+ wc = g_utf8_get_char (p);
input = p;
if (analysis->level % 2)
@@ -363,7 +338,7 @@ basic_engine_shape (PangoFont *font,
{
wc = mirrored_ch;
- _pango_guchar4_to_utf8 (wc, buf);
+ g_unichar_to_utf8 (wc, buf);
input = buf;
}
@@ -378,7 +353,7 @@ basic_engine_shape (PangoFont *font,
{
set_glyph (font, glyphs, i, p - text, index);
- if (unicode_type (wc) == UNICODE_NON_SPACING_MARK)
+ if (g_unichar_type (wc) == G_UNICODE_NON_SPACING_MARK)
{
if (i > 0)
{
@@ -402,7 +377,7 @@ basic_engine_shape (PangoFont *font,
set_glyph (font, glyphs, i, p - text, pango_fb_get_unknown_glyph (font));
}
- p = next;
+ p = g_utf8_next_char (p);
}
/* Simple bidi support... may have separate modules later */
@@ -434,13 +409,13 @@ basic_engine_get_coverage (PangoFont *font,
{
CharCache *cache = get_char_cache (font);
PangoCoverage *result = pango_coverage_new ();
- GUChar4 wc;
+ gunichar wc;
for (wc = 0; wc < 65536; wc++)
{
char buf[6];
- _pango_guchar4_to_utf8 (wc, buf);
+ g_unichar_to_utf8 (wc, buf);
if (find_char (cache, font, wc, buf))
pango_coverage_set (result, wc, PANGO_COVERAGE_EXACT);
}