East Asian Languages in KDE and Qt

Embed Size (px)

DESCRIPTION

Presentation Video is also available: https://www.youtube.com/watch?v=xgsXTXS3ahEThanks to Unicode, troubles derives from character code don't occur so frequently on KDE/Qt today.However, there are still some problems in character input and display. In addition, new devices such as tablet PCs and smartphones brought new demands, such as vertical-writing for digital books, and new ideas such as Flick Input Method for easier character input.

Citation preview

East Asian Languages in KDE and QtDaisuke Kameda ( @daicki) Jumpei Ogawa ( @phanect) Japan KDE Users Group

Who are you?

Daisuke Kameda ( )

Leader of Japan KDE users' group Developer of immodule for Qt Subleader of Japan KDE users' group Univ Student (Information Education) Working at a Linux distro (Asianux) vendor

Jumpei Ogawa ( )

Todays Topics

I18N text

Character codes Input Method Display

e.g. Font, Right-to-Left Language Support

Character Code

Character Code Chinese Japanese Chinese Japanese

ISO-8859-1Franais French English

UnicodeFranais French English

After Qt version 2

Character CodeUnicode supported Ver. 2 But some apps use ISO-8859-1 as default...

KHTML

KMail

Input Method

Input MethodXIM is supported in KDE and Qt version 2.

XIM(X Input Method) Version 2XIM and application were connected directly

Input Method

Version 3

Version 4

XIM(X Input Method)

Immodule for Qt

immodule for Qtimmodule for Qt supports various input method.

QInputContext

Version 4

Input Method in Qt5

Input Method in Qt5QPlatform InputContext QInputMethod

Version 4

Input Method API in Qt5

QPlatformContext

Supporting input method for each platform.

QInputMethod

Removing dependence to QWidget. Enable to control of input method from application for supporting new features.

Such as Flick Input.

Flick Input

Flick Input

Flick Input

Flick Input Video

Source: http://www.iphoneorjp.com/benri/benri-hurikku-1/

Flick Input

C

BGHI

A ABC JKL

DEF MNO

PQRS TUV WXYZ

Support Apps

Android

Google Japanese Input (Google) Simeji (Baidu) Default Input Method N9 Japanese Input (@kimitake, @kenya888, @task_jp)

iPhone

MeeGo

Display

:

Vertical Writing

Not implemented yet...

But...

Hyphenationja: " " == Forbidden Rule Processing13 Characters The_name_is_ "Mozilla".

13 Characters The_name_is_" Mozilla".

With Hyphenation

Without Hyphenation

Hyphenation8 Characters Characters 8

With Hyphenation

Without Hyphenation

Harfbuzz

Qt uses Harfbuzz library

Harfbuzz-ng

Vertical Text support Vertical Writing patch do not use this now ng == Next Generation

Control by yourself

QTextLayout

== "" ==.

End ? / Questions?

License

This slide is basically licensed under Creative Commons (CC) Attribution Most images are not my work, so they are not licensed under CC. The source is written in Note page of this odp file. I don't claim any rights for those images even if I have.