summaryrefslogtreecommitdiff
path: root/modules/arabic/arabic-x.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/arabic/arabic-x.c')
-rw-r--r--modules/arabic/arabic-x.c70
1 files changed, 5 insertions, 65 deletions
diff --git a/modules/arabic/arabic-x.c b/modules/arabic/arabic-x.c
index 49435b5c..8115e606 100644
--- a/modules/arabic/arabic-x.c
+++ b/modules/arabic/arabic-x.c
@@ -29,12 +29,6 @@ static PangoEngineRange arabic_range[] = {
static PangoEngineInfo script_engines[] = {
{
- "ArabicScriptEngineLang",
- PANGO_ENGINE_TYPE_LANG,
- PANGO_RENDER_TYPE_NONE,
- arabic_range, G_N_ELEMENTS(arabic_range)
- },
- {
"ArabicScriptEngineX",
PANGO_ENGINE_TYPE_SHAPE,
PANGO_RENDER_TYPE_X,
@@ -44,58 +38,6 @@ static PangoEngineInfo script_engines[] = {
static gint n_script_engines = G_N_ELEMENTS (script_engines);
-
-
-
-/*
- * Language script engine
- */
-
-static void
-arabic_engine_break (const char *text,
- int len,
- PangoAnalysis *analysis,
- PangoLogAttr *attrs)
-{
- /* Most of the code comes from tamil_engine_break
- */
-
- const char *cur = text;
- gint i = 0;
- gunichar wc;
-
- while (*cur && cur - text < len)
- {
- wc = g_utf8_get_char (cur);
- if (wc == (gunichar)-1)
- break; /* FIXME: ERROR */
-
- attrs[i].is_white = (wc == ' ' || wc == '\t' || wc == 'n') ? 1 : 0;
- attrs[i].is_break = (i > 0 && attrs[i-1].is_white) || attrs[i].is_white;
- attrs[i].is_char_stop = 1;
- attrs[i].is_word_stop = (i == 0) || attrs[i-1].is_white;
- /* actually, is_word_stop in not correct, but simple and good enough. */
-
- i++;
- cur = g_utf8_next_char (cur);
- }
-}
-
-static PangoEngine *
-arabic_engine_lang_new ()
-{
- PangoEngineLang *result;
-
- result = g_new (PangoEngineLang, 1);
-
- result->engine.id = "ArabicScriptEngine";
- result->engine.type = PANGO_ENGINE_TYPE_LANG;
- result->engine.length = sizeof (result);
- result->script_break = arabic_engine_break;
-
- return (PangoEngine *)result;
-}
-
/*
* X window system script engine portion
*/
@@ -377,7 +319,7 @@ arabic_engine_x_new ()
result = g_new (PangoEngineShape, 1);
result->engine.id = "ArabicScriptEngine";
- result->engine.type = PANGO_ENGINE_TYPE_LANG;
+ result->engine.type = PANGO_ENGINE_TYPE_SHAPE;
result->engine.length = sizeof (result);
result->script_shape = arabic_engine_shape;
result->get_coverage = arabic_engine_get_coverage;
@@ -408,12 +350,10 @@ MODULE_ENTRY(script_engine_list) (PangoEngineInfo **engines, int *n_engines)
PangoEngine *
MODULE_ENTRY(script_engine_load) (const char *id)
{
- if (!strcmp (id, "ArabicScriptEngineLang"))
- return arabic_engine_lang_new ();
- else if (!strcmp (id, "ArabicScriptEngineX"))
- return arabic_engine_x_new ();
- else
- return NULL;
+ if (!strcmp (id, "ArabicScriptEngineX"))
+ return arabic_engine_x_new ();
+ else
+ return NULL;
}
void