Sun is announcing the contribution of all Solaris internationalization enhancements made to X Window System back to the open source community through X.org. The X Window System is the windowing environment for all UNIX based systems, including Linux. X.Org is the worldwide consortium empowered with the stewardship and collaborative development of the technology and standards of the X Window System.
Until now, open source developers have typically had to write additional code for each separate language they wanted to support in their application. This key Solaris technology will provide all Open Source software developers with an easy way to design applications which operate in virtually all language environments and among different versions of UNIX, including Linux.
The Solaris Xi18n framework provides a common API implementation for keyboard entry in all European and Asian languages and even for bi-directional languages such as Hebrew and Arabic. Common standards for input methods allow developers to write one single application which can work in locale environments around the world.
Independent Software Vendors (ISV), Appliance Server OEM, All open source developers, students, and enthusiasts.
Customers operating in languages other than English will be able to benefit from this open framework by having more ubiquitous and robust applications in their language. The input and output methods Sun is providing will allow text to be entered and viewed using many languages and encodings, including Unicode. Desktop users would be able to mix languages in the same document, use commonly understood methods for keyboard input, and exchange files in multiple languages.
9. What does Sun get out of offering this code to the community?
Sun has a commitment to help raise the standards of open platform application development. Sun actively participates in many industry-wide forums which promote universal application development across platforms and languages such as Java, XML, Mozilla, X.Org, Li18nux, and now the GNOME Foundation and OpenOffice.org.
Opening the X internationalization code is another opportunity to emphasize its desire for active participation in the formation of industry standards for global application development. With high quality industry standards, more applications will be available which work across all versions of UNIX, including Solaris and Linux. If this framework
is adopted, more language engines will be available which are compatible with Solaris.
Back to Top
12. What components are included in this source code offering?
- X Input Method Framework
- IIIMF based i18n libX11 library (xiiimp.so)
-------------------------------------------
When used with an extended API, allows X application to have
locale independent input method capability.
- XIM Patch for IIIMP Client-Adapter
----------------------------------
Patch to X.Org's xc/lib/X11. Provides easier way for
developers to modify the X library to work with IIIMP
(Internet/Intranet Input Method Protocol)
- XIM BackEnd Module (htt_xbe)
----------------------------
Bridge module between X applications and IIIMP server
- IIIMF Input Method Server
-------------------------
Provides a connection between the language engine and the
application
- Language engine interface drivers (under CM, XCI)
-------------------------------------------------
Provides the interface to language engines
- Language engines
* mle.so (for Korean, Traditional and Simplified Chinese)
* New pinyin (newpy.so) for Simplified Chinese
* Generic composition engine for European languages
--------------------------------------------------
Input event conversion from the keyboard to language
character sets
-IIIMP watch dog Module (htt)
----------------------------
Safeguard to make sure IIIMP server always up and running
- X Output Method Frameworks
_ Complex Text Layout engine support
----------------------------------
Support for bi-directional rendering of Hebrew and Arabic characters.
- X Locale Convertor Module
support for eucJP, shift-JIS, Big5, GBK and all
Unicode (UTF-8) locales
- IIIMF Input Method Server Libraries
- Language Engine SPI Library (SunIM Library)
-------------------------------------------
Common interface to plug in language engines to IIIM server
- Code Converter Library (P-I Conv)
---------------------------------
API to plug in code convertor modules from multiple UNIX
layouts such as ICU, iconv etc.
- IM Developer Kit Library(IMdkit)
---------------------------------
API to plug in IM protocol support to IIIM server
such as XIMP 4.0, XIMCP, IIIMP
Back to Top
13. From a technical standpoint, how do these components add value to the existing x.org's Internationalization framework?
Based on the X11R6 framework, Sun has further enhanced these components to
provide a split shared object model. What this means is that the XOM, XIM, and
XLC shared objects have been separated so they can all be loaded by libX11
independently. With the locale specific portions live in separate libraries,
this will help reduce the core X lib size by 20-30% and enables dynamic
configurability of the internationalized X library. Users will be able to select
the most suitable configuration of the X library environment to safisfy their
primary language and needs. In addition, the XIM architecture has been enhanced
to enable multiple language input environment, whereby users can select the most
suitable Input Method model that will meet their practical needs.
Back to Top
15. What do these modules mean to the different developers?
For open source developers, administrator of Xlib, they may want to know
these modules so that they can easily load these dynamically loadable modules
correctly, depending upon which modules are needed.
For Input Method/language engine developers, the Input Method/language
engine interface modules is something that will be highly beneficial for them.
It can provide them with an opportunity to design various Input Method solutions
that can scale from Personal Digital Assistant (PDA) to Internet/Intranet based
network computing and meet the needs of the various platform providers.
For X Application Developers, they do not have to care about these modules
as they will be provided transparently. However, they will need to use the
appropriate I18n aware XIM/XOM APIs.
For integrators, these modules will enable them to package the relevant
modules to their users' requirements in a flexible manner.
Back to Top