HTML-Renderer icon indicating copy to clipboard operation
HTML-Renderer copied to clipboard

strange CJK text wrapping

Open Mizutama opened this issue 8 years ago • 2 comments

CJK text must be wrapped by box-width on word-break:normal.

Test HTML https://jsfiddle.net/sv625phm/

Result of HTML Renderer WPF Demo

あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん

あいうえお漢字 かきくけこさしすせそたちつてとなにぬねの日 本語 はひふへほまみむめもやゆよらりるれろわをん

`HtmlRenderer\Core\Utils\CommonUtils.cs

    /// <summary>
    /// Check if the given char is of Asian range.
    /// </summary>
    /// <param name="ch">the character to check</param>
    /// <returns>true - Asian char, false - otherwise</returns>
    public static bool IsAsianCharecter(char ch)
    {
        //return ch >= 0x4e00 && ch <= 0xFA2D;  // not enough for Japanese

        return ('\u4E00' <= ch && ch <= '\u9FCF')   // CJK統合漢字  CJK Unified Ideographs
            || ('\uF900' <= ch && ch <= '\uFAFF')   // CJK互換漢字  CJK Compatibility Ideographs
            || ('\u3400' <= ch && ch <= '\u4DBF')   // CJK統合漢字拡張A  CJK Unified Ideographs Extension A
            || ('\u3041' <= ch && ch <= '\u309F')   // ひらがな  Hiragana
            || ('\u30A0' <= ch && ch <= '\u30FF')   // 全角カタカナ  Zenkaku Katakana
            || ('\u31F0' <= ch && ch <= '\u31FF')   // 濁点と半濁点  Voice Sound Mark & Semi-Voice Sound Mark
            || ('\u3099' <= ch && ch <= '\u309C')   // 中点と長音記号  Dot & Prolonged Sound Mark
            || ('\u3000' <= ch && ch <= '\u303f')   // 句読点  CJK Symbols and Punctuation
            ;
    }

`

Imploved

あいうえおかきくけこさしすせそたちつてとなに ぬねのはひふへほまみむめもやゆよらりるれろ わをん

あいうえお漢字かきくけこさしすせそたちつて となにぬねの日本語はひふへほまみむめもや ゆよらりるれろわをん

Mizutama avatar Jul 22 '17 08:07 Mizutama

Interesting, will try that

Licshee avatar Jul 24 '17 10:07 Licshee

CJK(Chinese, Japanese & Korean) font for Asia More please visit http://www.unicode.org/charts/

superboy1984 avatar Mar 31 '18 15:03 superboy1984