Preface. 1. Introduction to Internationalization What Are Software Internationalization, Localization, and Globalization? Why Choose Java for International Applications? What is a Locale? A Simple Application. 2. Writing Systems Ancient Writing Systems Far East Writing Systems Bidirectional Scripts Greek, Latin, and Cyrillic Indic Scripts Thai Script Punctuation. 3. Locales Defining a Locale Working with the Locale Class Querying for Locale Information Checking Available Locales. 4. Isolating Locale-Specific Data with Resource Bundles Why Use Resource Bundles? The ResourceBundle Class How Resource Bundles Are Discovered and Named Property Resource Bundles List Resource Bundles Resource Bundle Caveats Deploying Resource Bundles with Applets Design Considerations for Resource Bundles. 5. Formatting Messages Date and Time Formats Number Formats Message Formats. 6. Character Sets and Unicode What Are Character Sets? What Are Encoding Methods? What Is Unicode? Unicode Encoding Methods Code Set Conversion. 7. Searching, Sorting, and Text Boundary Detection Collation Issues Sorting in Java Tailoring Collation Improving Performance Searching Detecting Text Boundaries. 8. Fonts and Text Rendering Characters, Glyphs, and Fonts Java's Font-Related Classes Components for Rendering Complex Text TrueType Font Support in Java Working with the font.properties File Adding New Fonts to Your System. 9. Internationalized Graphical User Interfaces General Issues Component Orientation Internationalization and Localization Caveats for Various Components Using a Layout Manager Copying, Cutting, and Pasting International Text A Simple Example. 10. Input Methods What Are Input Methods? What Is the Java Input Method Framework? Selecting Input Methods Using the Input Method Engine SPI Developing a Simple Input Method How to Package and Install Input Methods Developing a More Complex Input Method. 11. Internationalized Web Applications Applets Servlets JavaServer Pages 12. Future Enhancements to the Internationalization Support in Java Unicode 3.0 Support Enhanced Complex Text Character Converter Framework Improving the Input Method Framework A. Language and Country Codes. B. Character Encodings Supported by Java C. Unicode Character Blocks D. Programmer's Quick Reference E. Internationalization Enhancements Across Versions of the JDK Glossary Bibliography Index