SlideShare a Scribd company logo
1 of 35
Download to read offline
Japanese Input Environment
on Tizen 2.0 Alpha
Naruto TAKAHASHI(tnaruto@gmail.com)
Turbo Systems Co, Ltd.
Super Study Meeting at end of 2012 in Japan
Who’s Guy?

Naruto TAKAHASHI(@TNaruto)

 • Mail: tnaruto@gmail.com

 • Blog: http://eflmemo.hatenablog.com/

 • Company: Turbo Systems Co, Ltd.

Interesting Keyboards

 • EFL(Enlightenment Foundation Libraries)

 • Tizen

 • WebKit
Background   Concept of this presentation
Tizen 2.0 Alpha not support Japanese Input.
What does ISF support on Tizen 2.0 Alpha?


 Full       Hardware and Virtual kbd

 Support    English, Latin…
                                       “Tizen Keyboard” default vkbd supports
                                       1byte languages.



 Half       Hardware kbd only

 Support    Hangle(Korean)

 Japanese not supported at the
            moment. X-(
I must support Japanese input env by myself
Glossary

           Input Service Framework


 ISF       Base on scim 1.4.7

           Framework core is same as scim.


           Input Service Engine


 ISE       Scim modules
                                             Helper

                                             IMEngine

                                             IMModule
Agenda


 About scim

 Port anthy to Tizen

 Install anthy to Tizen

 Future of Japanese input Environment
Smart Common Input
About scim
             Method
What’s scim?

           Smart Common Input Method
SCIM
           Implementation of Input Method Framework



           Linux
Supports
OS         Other Unix                                 *BSD

                                                      POSIX-style OS


           IMM(Input Method Manager) of Windows
Another
           "Input Method" of MacOS
OS’s IMF   “XIM(X Input Method)” of Xorg
What’s scim?(cont)

 Languages    CJK                  Chinese, Japanese and Korean

              European languages

 License      GPL




 Prog Langs   C++

              C(a little)
Another implementations of IMF

          http://code.google.com/p/ibus/
 ibus     ibus is adopted by famous distribution such as Fedora, Ubuntu, openSuSE.

          http://code.google.com/p/uim/
 uim      uim uses scheme language as Internal Programming Language.

          http://www.maliit.org/
 maliit   maliit is used by MeeGo.

          http://wiki.fdiary.net/iiimf/
 iiimf    iiimf used by ATOK for Linux and Wnn8 for Linux/BSD.
Features of scim

Fully Object Oriented structure written in C++.

Highly modularized.

Very flexible architecture, can be used as a dynamically loaded library as well as a C/S input method environment.

Simple programming interface.

Fully i18n support with UCS-4/UTF-8 encoding.

Include many handy utility functions to speedup the development.

GUI Panel with very rich features.

Unified configuration framework.
Goals of scim

           an unified frontend for current available input method libraries.
 Act
           a language engine of IIIMF input method framework


           many native IMEngines
 Provide

           many input method protocol/interface
 Support
           many operating systems
History of scim

                                Scim author is James Su

                       when he‘s been in TurboLinux China



                              TurboLinux didn't adopt scim.

   due to supporting ATOK for Linux.                          ATOK uses iiimf.




                           He quited and went to google china.
Kind of scim modules

            Execs virtual kbd and give user accessibility
 Helper
            Imple example: Input-panel, Tizen Keyboard

            Bridges graphic library IMFramework
 IMModule
            Imple example: EFL-immodule, gtk-immodule, qt-immodule

            Bridges conversion engine’s server and library.
 IMEngine
            Imple example: Anthy, Hangle, Pinyin…

            Other utility modules
 Etc, etc
            Imple example: SetupUI, tool-bar, Candidate lists window
Port anthy to
                How to cross compile for
Tizen
                Tizen
How to build packages for Tizen platforms.

                             Tizen Dev Phone
           ARM
 Targets                     Tizen Emulator
           i586              Tizen IVI



           Ubuntu
 Host
           OpenSuSE
                             Cross compile tool
           GBS
 Tools                       Remote build system
           OBS
What’s GBS?

            Git Build System       Builds Source of git repository
 GBS
            Cross toolchains env

            Multistrap of Debian   chroot
 Inspired
                                   qemu-emulator


            Easily                 Not need to setup cross
 Useful                            toolchains env myself
How to use gbs command?

gbs build
               local build package
                                      RPM
gbs chroot
               chroot to build root


More command
infomation
               “gbs help”
Make RPM spec file for “gbs build”

 RPM        “gbs build” uses RPM spec file for build source.



            “gbs build” references ${PKG_SRC}/packages/*.spec at build.




 RPM        http://docs.fedoraproject.org/en-
            US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/index.html
 Document
            http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html
Install anthy
                How to install anthy to Tizen
to Tizen
How to install anthy RPM packages to Tizen
Platforms?

Tizen Dev Phone                               Tizen Emulator

    Install font includes Japanese Glyphs.     Install font includes Japanes Glyphs(you can skip it)




    Install anthy packages for ARM via sdb           Install anthy packages for i586 via sdb

    Anthy                  Ise-engine-anthy           Anthy                   Ise-engine-anthy




           Connect USB Keyboard               Tizen Emulator uses Host Keybaord as USB Keyboard
How to install anthy RPM packages to Tizen
Platforms?(cont)

        Execute Settings of Tizen App.




           Select item, "Keyboard".




 Tap "Select keyboard" on "Hardware keyboard“




             select “Anthy” item.
Inputting Demonstration!
What's able to do at the moment?

 What's       Supports only hardware kbd


 able to
              Not support virtual kbd
 do?

 Detail of    RPM packages of Japanese input environment for Tizen 2.0 Alpha


 this stuff
              http://eflmemo.hatenablog.com/entry/2012/12/09/223038
Future of
Japanese
input
              TAIYAKI project
Environment
on Tizen
TAIYAKI Project is started


 What’s “TAIYAKI”?

 • Tizen Advanced Inspiring Yet Another
  Keyboard Interface.

 What’s “Taiyaki”?

 • Taiyaki Is a Japanese fish-shaped cake.

 • Taiyaki
  detail: http://en.wikipedia.org/wiki/Taiyaki
She is not a person involved.
Features of TAIYAKI

 Virtual kbd
   for ISF


               • Toggle
 9 keypad
               • Flick



    Full
 keyboard
Conclusion
Let’s start TAIYAKI together!!!
Oh…
Any questions?
Thanks to listen my presentation!

More Related Content

What's hot

PiFlash: Linux utility to flash SD cards for Raspberry Pi computers
PiFlash: Linux utility to flash SD cards for Raspberry Pi computersPiFlash: Linux utility to flash SD cards for Raspberry Pi computers
PiFlash: Linux utility to flash SD cards for Raspberry Pi computersIan Kluft
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded LinuxChris Simmonds
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphoneChris Simmonds
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Chris Simmonds
 
BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?Linaro
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to pythonManishJha237
 
Py Con 2009 Pumping Iron Into Python
Py Con 2009   Pumping Iron Into PythonPy Con 2009   Pumping Iron Into Python
Py Con 2009 Pumping Iron Into PythonSarah Dutkiewicz
 
Python tutorial for beginners - Tib academy
Python tutorial for beginners - Tib academyPython tutorial for beginners - Tib academy
Python tutorial for beginners - Tib academyTIB Academy
 
IncludeOS for ics 2018
IncludeOS for ics 2018IncludeOS for ics 2018
IncludeOS for ics 2018Per Buer
 
Using Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical worldUsing Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical worldBrian Chamberlain
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
 
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...Ivan Kravets
 
LCA2018 Open Hardware MiniConference: LoliBot Software
LCA2018 Open Hardware MiniConference: LoliBot SoftwareLCA2018 Open Hardware MiniConference: LoliBot Software
LCA2018 Open Hardware MiniConference: LoliBot SoftwareAndy Gelme
 
PharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban Lorenzano
PharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban LorenzanoPharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban Lorenzano
PharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban LorenzanoPharo
 

What's hot (20)

PiFlash: Linux utility to flash SD cards for Raspberry Pi computers
PiFlash: Linux utility to flash SD cards for Raspberry Pi computersPiFlash: Linux utility to flash SD cards for Raspberry Pi computers
PiFlash: Linux utility to flash SD cards for Raspberry Pi computers
 
A timeline for embedded Linux
A timeline for embedded LinuxA timeline for embedded Linux
A timeline for embedded Linux
 
Android beyond the smartphone
Android beyond the smartphoneAndroid beyond the smartphone
Android beyond the smartphone
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
 
BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?BKK16-212: What's broken on ARM64?
BKK16-212: What's broken on ARM64?
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
Thotcon2013
Thotcon2013Thotcon2013
Thotcon2013
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Py Con 2009 Pumping Iron Into Python
Py Con 2009   Pumping Iron Into PythonPy Con 2009   Pumping Iron Into Python
Py Con 2009 Pumping Iron Into Python
 
Python tutorial for beginners - Tib academy
Python tutorial for beginners - Tib academyPython tutorial for beginners - Tib academy
Python tutorial for beginners - Tib academy
 
IncludeOS for ics 2018
IncludeOS for ics 2018IncludeOS for ics 2018
IncludeOS for ics 2018
 
Embedded Linux - Building toolchain
Embedded Linux - Building toolchainEmbedded Linux - Building toolchain
Embedded Linux - Building toolchain
 
Using Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical worldUsing Erlang on the RaspberryPi to interact with the physical world
Using Erlang on the RaspberryPi to interact with the physical world
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
 
Embedded Operating System - Linux
Embedded Operating System - LinuxEmbedded Operating System - Linux
Embedded Operating System - Linux
 
LCA2018 Open Hardware MiniConference: LoliBot Software
LCA2018 Open Hardware MiniConference: LoliBot SoftwareLCA2018 Open Hardware MiniConference: LoliBot Software
LCA2018 Open Hardware MiniConference: LoliBot Software
 
Hello World! with Python
Hello World! with PythonHello World! with Python
Hello World! with Python
 
PharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban Lorenzano
PharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban LorenzanoPharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban Lorenzano
PharoDAYS 2015: FFI - The good, the bad and the ugly by Esteban Lorenzano
 
OpenWRT and Perl
OpenWRT and PerlOpenWRT and Perl
OpenWRT and Perl
 

Viewers also liked

Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたNaruto TAKAHASHI
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性Naruto TAKAHASHI
 
How to add nfc web api to android by using npapi
How to add nfc web api to android by using npapiHow to add nfc web api to android by using npapi
How to add nfc web api to android by using npapiNaruto TAKAHASHI
 
Report of linuxcon japan 2013
Report of linuxcon japan 2013Report of linuxcon japan 2013
Report of linuxcon japan 2013Naruto TAKAHASHI
 
Rust samurai lightning talk
Rust samurai lightning talkRust samurai lightning talk
Rust samurai lightning talkNaruto TAKAHASHI
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法Naruto TAKAHASHI
 
猫でも分かる Android WebKit
猫でも分かる Android WebKit猫でも分かる Android WebKit
猫でも分かる Android WebKitNaruto TAKAHASHI
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜNaruto TAKAHASHI
 
Wayland intro with_i18n_hacks
Wayland intro with_i18n_hacksWayland intro with_i18n_hacks
Wayland intro with_i18n_hacksPeng Wu
 
Kika IME Android Taipei 2016 May
Kika IME Android Taipei 2016 MayKika IME Android Taipei 2016 May
Kika IME Android Taipei 2016 MayLawrence Lin
 
Www regie live_ro_macroeconomie
Www regie live_ro_macroeconomieWww regie live_ro_macroeconomie
Www regie live_ro_macroeconomiedeliabv
 
Luego de haber aprendido en la sesión anterior a
Luego de haber aprendido en la sesión anterior aLuego de haber aprendido en la sesión anterior a
Luego de haber aprendido en la sesión anterior aA. Chz Contreras
 

Viewers also liked (20)

Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えた
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性
 
How to add nfc web api to android by using npapi
How to add nfc web api to android by using npapiHow to add nfc web api to android by using npapi
How to add nfc web api to android by using npapi
 
Report of linuxcon japan 2013
Report of linuxcon japan 2013Report of linuxcon japan 2013
Report of linuxcon japan 2013
 
Tizenについて
TizenについてTizenについて
Tizenについて
 
Rust samurai lightning talk
Rust samurai lightning talkRust samurai lightning talk
Rust samurai lightning talk
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
Tizen & Crosswalk
Tizen & CrosswalkTizen & Crosswalk
Tizen & Crosswalk
 
猫でも分かる Android WebKit
猫でも分かる Android WebKit猫でも分かる Android WebKit
猫でも分かる Android WebKit
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜ
 
Tizen 2.0 overview
Tizen 2.0 overviewTizen 2.0 overview
Tizen 2.0 overview
 
Wayland intro with_i18n_hacks
Wayland intro with_i18n_hacksWayland intro with_i18n_hacks
Wayland intro with_i18n_hacks
 
JS_IM Introduction
JS_IM IntroductionJS_IM Introduction
JS_IM Introduction
 
Two iconvs
Two iconvsTwo iconvs
Two iconvs
 
Kika IME Android Taipei 2016 May
Kika IME Android Taipei 2016 MayKika IME Android Taipei 2016 May
Kika IME Android Taipei 2016 May
 
MA THOR Twin UAS
MA THOR Twin UASMA THOR Twin UAS
MA THOR Twin UAS
 
World crimes
World crimesWorld crimes
World crimes
 
Ck bank
Ck bankCk bank
Ck bank
 
Www regie live_ro_macroeconomie
Www regie live_ro_macroeconomieWww regie live_ro_macroeconomie
Www regie live_ro_macroeconomie
 
Luego de haber aprendido en la sesión anterior a
Luego de haber aprendido en la sesión anterior aLuego de haber aprendido en la sesión anterior a
Luego de haber aprendido en la sesión anterior a
 

Similar to Japanese input environment on Tizen 2.0 Alpha

A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeAll Things Open
 
Fusioninventory project FOSDEM 2011
Fusioninventory project FOSDEM 2011Fusioninventory project FOSDEM 2011
Fusioninventory project FOSDEM 2011Gonéri Le Bouder
 
introduction to linux desktop draft 5
introduction to linux desktop draft 5introduction to linux desktop draft 5
introduction to linux desktop draft 5swee meng ng
 
Porting To Symbian
Porting To SymbianPorting To Symbian
Porting To SymbianMark Wilcox
 
PyQt Application Development On Maemo
PyQt Application Development On MaemoPyQt Application Development On Maemo
PyQt Application Development On Maemoachipa
 
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5Amanda Lam
 
Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals Ahmed El-Arabawy
 
Linux and Localization Tutorial Paras pradhan Senior Linux ...
Linux and Localization Tutorial Paras pradhan Senior Linux ...Linux and Localization Tutorial Paras pradhan Senior Linux ...
Linux and Localization Tutorial Paras pradhan Senior Linux ...webhostingguy
 
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...Takayuki Shimizukawa
 
Easy contributable internationalization process with Sphinx @ pyconsg2015
Easy contributable internationalization process with Sphinx @ pyconsg2015Easy contributable internationalization process with Sphinx @ pyconsg2015
Easy contributable internationalization process with Sphinx @ pyconsg2015Takayuki Shimizukawa
 
session5-Getting stated with Python.pdf
session5-Getting stated with Python.pdfsession5-Getting stated with Python.pdf
session5-Getting stated with Python.pdfAyushDutta32
 
Introduction to python for Beginners
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners Sujith Kumar
 
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsPyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsHenry Schreiner
 
Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Takayuki Shimizukawa
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily usearun.arwachin
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfbhagyashri686896
 

Similar to Japanese input environment on Tizen 2.0 Alpha (20)

A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
 
Fusioninventory project FOSDEM 2011
Fusioninventory project FOSDEM 2011Fusioninventory project FOSDEM 2011
Fusioninventory project FOSDEM 2011
 
introduction to linux desktop draft 5
introduction to linux desktop draft 5introduction to linux desktop draft 5
introduction to linux desktop draft 5
 
Porting To Symbian
Porting To SymbianPorting To Symbian
Porting To Symbian
 
PyQt Application Development On Maemo
PyQt Application Development On MaemoPyQt Application Development On Maemo
PyQt Application Development On Maemo
 
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
 
Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals
 
Linux and Localization Tutorial Paras pradhan Senior Linux ...
Linux and Localization Tutorial Paras pradhan Senior Linux ...Linux and Localization Tutorial Paras pradhan Senior Linux ...
Linux and Localization Tutorial Paras pradhan Senior Linux ...
 
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
Easy contributable internationalization process with Sphinx (PyCon APAC 2015 ...
 
Easy contributable internationalization process with Sphinx @ pyconsg2015
Easy contributable internationalization process with Sphinx @ pyconsg2015Easy contributable internationalization process with Sphinx @ pyconsg2015
Easy contributable internationalization process with Sphinx @ pyconsg2015
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 
Intro to linux
Intro to linux Intro to linux
Intro to linux
 
Cmpe202 01 Research
Cmpe202 01 ResearchCmpe202 01 Research
Cmpe202 01 Research
 
session5-Getting stated with Python.pdf
session5-Getting stated with Python.pdfsession5-Getting stated with Python.pdf
session5-Getting stated with Python.pdf
 
Introduction to python for Beginners
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners
 
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsPyCon2022 - Building Python Extensions
PyCon2022 - Building Python Extensions
 
Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
Python_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdfPython_final_print_batch_II_vision_academy.pdf
Python_final_print_batch_II_vision_academy.pdf
 

More from Naruto TAKAHASHI

CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-toolNaruto TAKAHASHI
 
猫でも分かる Android WebKit ice break
猫でも分かる Android WebKit ice break猫でも分かる Android WebKit ice break
猫でも分かる Android WebKit ice breakNaruto TAKAHASHI
 
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiNaruto TAKAHASHI
 
Tizen 2.0 alpha でサポートされなかった native api icebreak
Tizen 2.0 alpha でサポートされなかった native api icebreakTizen 2.0 alpha でサポートされなかった native api icebreak
Tizen 2.0 alpha でサポートされなかった native api icebreakNaruto TAKAHASHI
 
Html5 でアプリを作るということ
Html5 でアプリを作るということHtml5 でアプリを作るということ
Html5 でアプリを作るということNaruto TAKAHASHI
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよNaruto TAKAHASHI
 
Linux ユーザーからみた tizen
Linux ユーザーからみた tizenLinux ユーザーからみた tizen
Linux ユーザーからみた tizenNaruto TAKAHASHI
 

More from Naruto TAKAHASHI (11)

CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-tool
 
Tizen API
Tizen APITizen API
Tizen API
 
猫でも分かる Android WebKit ice break
猫でも分かる Android WebKit ice break猫でも分かる Android WebKit ice break
猫でも分かる Android WebKit ice break
 
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
 
Tizen 2.0 alpha でサポートされなかった native api icebreak
Tizen 2.0 alpha でサポートされなかった native api icebreakTizen 2.0 alpha でサポートされなかった native api icebreak
Tizen 2.0 alpha でサポートされなかった native api icebreak
 
Tizen application
Tizen applicationTizen application
Tizen application
 
Tizen web app
Tizen web appTizen web app
Tizen web app
 
Tizen native application
Tizen native applicationTizen native application
Tizen native application
 
Html5 でアプリを作るということ
Html5 でアプリを作るということHtml5 でアプリを作るということ
Html5 でアプリを作るということ
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
 
Linux ユーザーからみた tizen
Linux ユーザーからみた tizenLinux ユーザーからみた tizen
Linux ユーザーからみた tizen
 

Recently uploaded

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Japanese input environment on Tizen 2.0 Alpha

  • 1. Japanese Input Environment on Tizen 2.0 Alpha Naruto TAKAHASHI(tnaruto@gmail.com) Turbo Systems Co, Ltd. Super Study Meeting at end of 2012 in Japan
  • 2. Who’s Guy? Naruto TAKAHASHI(@TNaruto) • Mail: tnaruto@gmail.com • Blog: http://eflmemo.hatenablog.com/ • Company: Turbo Systems Co, Ltd. Interesting Keyboards • EFL(Enlightenment Foundation Libraries) • Tizen • WebKit
  • 3. Background Concept of this presentation
  • 4. Tizen 2.0 Alpha not support Japanese Input.
  • 5. What does ISF support on Tizen 2.0 Alpha? Full Hardware and Virtual kbd Support English, Latin… “Tizen Keyboard” default vkbd supports 1byte languages. Half Hardware kbd only Support Hangle(Korean) Japanese not supported at the moment. X-(
  • 6. I must support Japanese input env by myself
  • 7. Glossary Input Service Framework ISF Base on scim 1.4.7 Framework core is same as scim. Input Service Engine ISE Scim modules Helper IMEngine IMModule
  • 8. Agenda About scim Port anthy to Tizen Install anthy to Tizen Future of Japanese input Environment
  • 10. What’s scim? Smart Common Input Method SCIM Implementation of Input Method Framework Linux Supports OS Other Unix *BSD POSIX-style OS IMM(Input Method Manager) of Windows Another "Input Method" of MacOS OS’s IMF “XIM(X Input Method)” of Xorg
  • 11. What’s scim?(cont) Languages CJK Chinese, Japanese and Korean European languages License GPL Prog Langs C++ C(a little)
  • 12. Another implementations of IMF http://code.google.com/p/ibus/ ibus ibus is adopted by famous distribution such as Fedora, Ubuntu, openSuSE. http://code.google.com/p/uim/ uim uim uses scheme language as Internal Programming Language. http://www.maliit.org/ maliit maliit is used by MeeGo. http://wiki.fdiary.net/iiimf/ iiimf iiimf used by ATOK for Linux and Wnn8 for Linux/BSD.
  • 13. Features of scim Fully Object Oriented structure written in C++. Highly modularized. Very flexible architecture, can be used as a dynamically loaded library as well as a C/S input method environment. Simple programming interface. Fully i18n support with UCS-4/UTF-8 encoding. Include many handy utility functions to speedup the development. GUI Panel with very rich features. Unified configuration framework.
  • 14. Goals of scim an unified frontend for current available input method libraries. Act a language engine of IIIMF input method framework many native IMEngines Provide many input method protocol/interface Support many operating systems
  • 15. History of scim Scim author is James Su when he‘s been in TurboLinux China TurboLinux didn't adopt scim. due to supporting ATOK for Linux. ATOK uses iiimf. He quited and went to google china.
  • 16. Kind of scim modules Execs virtual kbd and give user accessibility Helper Imple example: Input-panel, Tizen Keyboard Bridges graphic library IMFramework IMModule Imple example: EFL-immodule, gtk-immodule, qt-immodule Bridges conversion engine’s server and library. IMEngine Imple example: Anthy, Hangle, Pinyin… Other utility modules Etc, etc Imple example: SetupUI, tool-bar, Candidate lists window
  • 17. Port anthy to How to cross compile for Tizen Tizen
  • 18. How to build packages for Tizen platforms. Tizen Dev Phone ARM Targets Tizen Emulator i586 Tizen IVI Ubuntu Host OpenSuSE Cross compile tool GBS Tools Remote build system OBS
  • 19. What’s GBS? Git Build System Builds Source of git repository GBS Cross toolchains env Multistrap of Debian chroot Inspired qemu-emulator Easily Not need to setup cross Useful toolchains env myself
  • 20. How to use gbs command? gbs build local build package RPM gbs chroot chroot to build root More command infomation “gbs help”
  • 21. Make RPM spec file for “gbs build” RPM “gbs build” uses RPM spec file for build source. “gbs build” references ${PKG_SRC}/packages/*.spec at build. RPM http://docs.fedoraproject.org/en- US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/index.html Document http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html
  • 22. Install anthy How to install anthy to Tizen to Tizen
  • 23. How to install anthy RPM packages to Tizen Platforms? Tizen Dev Phone Tizen Emulator Install font includes Japanese Glyphs. Install font includes Japanes Glyphs(you can skip it) Install anthy packages for ARM via sdb Install anthy packages for i586 via sdb Anthy Ise-engine-anthy Anthy Ise-engine-anthy Connect USB Keyboard Tizen Emulator uses Host Keybaord as USB Keyboard
  • 24. How to install anthy RPM packages to Tizen Platforms?(cont) Execute Settings of Tizen App. Select item, "Keyboard". Tap "Select keyboard" on "Hardware keyboard“ select “Anthy” item.
  • 26. What's able to do at the moment? What's Supports only hardware kbd able to Not support virtual kbd do? Detail of RPM packages of Japanese input environment for Tizen 2.0 Alpha this stuff http://eflmemo.hatenablog.com/entry/2012/12/09/223038
  • 27. Future of Japanese input TAIYAKI project Environment on Tizen
  • 28. TAIYAKI Project is started What’s “TAIYAKI”? • Tizen Advanced Inspiring Yet Another Keyboard Interface. What’s “Taiyaki”? • Taiyaki Is a Japanese fish-shaped cake. • Taiyaki detail: http://en.wikipedia.org/wiki/Taiyaki
  • 29. She is not a person involved.
  • 30. Features of TAIYAKI Virtual kbd for ISF • Toggle 9 keypad • Flick Full keyboard
  • 32. Let’s start TAIYAKI together!!!
  • 33. Oh…
  • 35. Thanks to listen my presentation!