Index: hangul-defs.h
===================================================================
RCS file: /cvs/gnome/pango/modules/hangul/hangul-defs.h,v
retrieving revision 1.1
diff -r1.1 hangul-defs.h
48a49,51
> #define HTONE1 0x302E
> #define HTONE2 0x302F
> 
51a55,56
> #define IS_M(wc) ((wc) == HTONE1 || (wc) == HTONE2)
> 
Index: hangul-xft.c
===================================================================
RCS file: /cvs/gnome/pango/modules/hangul/hangul-xft.c,v
retrieving revision 1.4
diff -r1.4 hangul-xft.c
36a37
>   { HTONE1, HTONE2, "*" }, /* Hangul Tone Marks */
64a66,88
> render_tone (PangoFont *font, gunichar tone, PangoGlyphString *glyphs, 
>                  int *n_glyphs, int cluster_offset)
> {
>   int index;
> 
>   index = find_char(font, tone);
>   pango_glyph_string_set_size (glyphs, *n_glyphs + 1);
>   if (index)
>     set_glyph (font, glyphs, *n_glyphs, cluster_offset, index);
>   else 
>     {  /* fall back : HTONE1(0x302e) => '·', HTONE2(0x302f) => ':' */
>       index = find_char(font, tone == HTONE1 ? 0x00b7 : 0x003a);
>       if (index)
>         set_glyph (font, glyphs, *n_glyphs, cluster_offset, index);
>       else 
>         set_glyph (font, glyphs, *n_glyphs, cluster_offset,
>       pango_xft_font_get_unknown_glyph (font, index));
>     }
>   (*n_glyphs)++;
> }
> 
> 
> static void
71a96,105
> 
>   /* tone mark has to be rendered to the left of a syllable */
> 
>   wc = text[length-1];
>   if ( IS_M(wc) ) 
>     {
>        render_tone(font, wc, glyphs, n_glyphs, cluster_offset);
>        length--;
>     }
> 
203a238,240
>   pango_coverage_set (result, HTONE1, PANGO_COVERAGE_FALLBACK);
>   pango_coverage_set (result, HTONE2, PANGO_COVERAGE_FALLBACK);
> 
