|
Computers & Writing Systems
You are here: General Resources for Writing Systems Implementation using Copyleft and FLOSS (Free/Libre and Open Source Software)
Note Although many of the solutions mentioned in this document can be very helpful for those interested in implementing writing systems, SIL International has not tested them, does not make any specific recommendations or specific claims about their legality or suitability for use. It is the user's responsibility to test the maturity and to understand the licensing of the following items before using, modifying or redistributing them. Comments and feedback welcome. If you have experience with any of the projects mentioned below, feel free to add a comment.
----- IntroductionAre you looking for ideas, information and tools to enhance or start from scratch a WSI (Writing System Implementation) or one of its components for a specific language community? This collection of links will help you use copyleft and FLOSS (Free/Libre and Open Source Software) technologies and methods to develop, adapt or enhance a WSI. The copyleft approach can increase a language community's ability to fully enjoy the benefits of the information age and to effectively reduce the Digital Divide. Using open standards and copylefted technologies can lower the barrier of entry for use, cooperation and dissemination of a particular WSI by bringing cyber-literacy to minority language communities through improved sustainability, interoperability, and capacity building. The cooperative models allow a distributed and networked team to be set up to get volunteers and users more closely in touch with the developers than with proprietary development models. In fact, copyleft and FLOSS are methods of creating software more than just freely available tools. As a developer - or any kind of contributor - there are many advantages to a well-managed copyleft strategy, you can:
Note It is a good idea to check software catalogs (such as freshmeat.net) and to keep an eye on community news-sites (such as newsforge.net) to track the evolution and the maturity of these various writing systems-related projects. Be aware of the direction of the various leading projects as well as the discussions about new standards. Being able to give input at the right time can dramatically help improve support for your language. You're also very likely to hear about new interesting projects being set up in the meantime. Use Existing Writing System ComponentsFonts courrier, helvetica, new century schoolbook, symbol, times, utopia, lucida, lucidabright, lucidatypewriter, luxi, charter, bookman, open look, avant-garde, chancery, nimbus, palladio, courier, veranda, gothic, tymes, aerial, palatino... Various models of redistribution restrict the availability of fonts in a default installation, but you can download and add a lot of other fonts including proprietary ones. Copylefted fontsA selection of fonts packaged by Mandrake: rpms.mandrakeclub.com/rpms/System_Fonts_True_type.htmlA selection of fonts packaged by Redhat: www.redhat.com/A selection of fonts packaged by Debian: packages.debian.org/A selection of fonts packaged by Gentoo: www.gentoo.org/dyn/pkgs/media-fonts/The Vera Bitstream fonts from GNOME: www.gnome.org/fonts/
The Toga fonts derived from Vera: www.binara.com/toga/
The Arkpandora fonts derived from Vera: www.users.bigpond.net.au/gavindi/The Culmus Hebrew fonts: culmus.sourceforge.net
The Paktype Paskistani fonts: www.zaban.net/paktype/
The Free UCS Outline fonts: www.nongnu.org/freefont
The ETL Unicode font: ftp.x.org/contrib/fonts/The Bengali/Bangla fonts: www.bengalinux.org
The Mayayalam font: malayalamlinux.sourceforge.net
The Stix scientific fonts: www.stixfonts.org/faq.html
The Dustimo fonts: freshmeat.net/projects/dustismofont
The GNU Unifont: czyborra.com/unifont/HEADER.html
The Linux Font Project: sourceforge.net/projects/xfonts/
The Linux Libertine Open fonts: sourceforge.net/projects/linuxlibertine/
A set of Cyrillic fonts: ftp.gnome.ru/fonts
A set of Tamil fonts: www.tamillinux.org/fonts.html
The JHCFonts fonts: savannah.nongnu.org/projects/jhcfonts/
The URW++ standard PostScript fonts: ftp.gnome.ru/fonts/urw/release/
The HindiFreehand fonts: savannah.nongnu.org/projects/fontdudes/
The Wadalab Kanji fonts: ftp.ipl.t.u-tokyo.ac.jp/Font/README.html
The Legendum and Garioger OpenType fonts: home.kabelfoon.nl/~slam/fonts/fonts.html
The Malayalam Keli True type and Opentype font: www.linuxense.com/oss/
The Andagii TrueType font and the Penuturesu Linear B script font: www.i18nguy.com/unicode/unicode-font.html
The Junicode (short for Junius-Unicode) medievalist font: www.engl.virginia.edu/OE/junicode/junicode.html
The Khotot Arabic fonts: www.arabeyes.org/project.php?proj=Khotot
The StayPuft MS Comic-like font: www.thibault.org/fonts/staypuft/
The Isabella calligraphic hand-style font: www.thibault.org/fonts/isabella/
The ClearlyU BDF Unicode font: clr.nmsu.edu/~mleisher/cu.html
The Gimp fonts: www.gimp.org/fonts.html
A font catalog and with the corresponding source and data files: bibliofile.mc.duke.edu/gww/fonts/fonts.html
Freeware fontsThese fonts are redistributable for free but with restrictions — no source and data files available and no modification rights.
The Code2001 Plane 1 Unicode font:(with experimental provisional scripts added to Plane 15) http://web.archive.org/web/http://code2000.net/The pxl2000 font: userpage.fu-berlin.de/~cantsin/homepage/computing/hacks/pxl2000/A selection of original font designs: jeff.cs.mcgill.ca/~luc/originalfonts.htmlThe free font archive: cgm.cs.mcgill.ca/~luc/freefonts.htmlGeorge Williams's Unicode fonts: bibliofile.mc.duke.edu/gww/fonts/Unicode.htmlVarious other freeware fonts collections: www.identifont.com/free-fonts.html www.alanwood.net/unicode/fonts.html www.hclrss.demon.co.uk/unicode/fontsbyrange.html www.truetype.demon.co.uk/ttfonts.htm rpmfind.net/linux/RPM/X11_fonts.html www.masterstech-home.com/The_Library/Font_Samples/FontIndexMain.html home.c2i.net/dark/linux.html#ttf http://www.babelstone.co.uk/Fonts/Index.html www.ccss.de/slovo/unifonts.htm www.moorstation.org/typoasis/designers/westwind/ www.planete-typographie.comThe font section from the Google/DMOZ directory: directory.google.com/Top/Computers/Software/Fonts/Collections/SIL's has now been moved to here:Finding Software on ScriptSource Public domain fontsThese fonts are available for redistribution with less restrictions but source code and data files are most of the time unavailable. The Ghostscript fonts: www.cs.wisc.edu/~ghost/aladdin/doc/Fonts.htmThe Kanji scripts fonts: ftp.ipl.t.u-tokyo.ac.jp/Font/The Electronic Font Open Laboratory: openlab.ring.gr.jp/efont/The Raghu OpenType fonts: rohini.ncst.ernet.in/indixLibraries and rendering toolkitsFreetype: a free and portable TrueType font rendering engine, developed to provide TrueType support for a variety of platforms and environments. FreeType is a library which can open and manage font files as well as efficiently load, hint and render individual glyphs. FreeType is not a font server or a complete text-rendering library. www.freetype.orgThe Freetype alternate packages: it is worth noting that you can get alternate Freetype packages from special repositories in software patent-unencumbered countries. A good example of this are the Freetype plf (Penguin Liberation Front) packages with hinting enabled plf.zarb.org/faq.htmlPango: a library for layout and rendering of internationalized text as well as handling Unicode strings and complex bidirectional or context dependent shaped strings www.pango.orgQT: The KDE toolkit www.trolltech.com/products/qt/GTK+: The GNOME toolkit www.gtk.orgWxWindows: another cross-platform UI library www.wxwindows.orgXFree86: The free implementation of the X Window system www.xfree86.org/Xouvert: The open development community for the new improved X Window system www.xouvert.orgX11 for Mac OS X: the extensions and contributions to X11 (X Windows) by Apple www.apple.com/macosx/features/x11/Cairo: a vector graphics library with cross-device output support www.cairographics.orgFreedesktop: a standards initiative for all the desktop-related technologies. The cooperation initiative between the leading desktops environments: GNOME and KDE www.freedesktop.orgxlibs: the X Libraries and Protocol Headers Project www.freedesktop.org/Software/xlibsdirectfb: a library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for transparency www.directfb.orgGLTT: a library for reading and drawing TrueType fonts in OpenGL gltt.sourceforge.netFontTools: a library for manipulating fonts sourceforge.net/projects/fonttools/STFS (Standard Type Services Framework): a portable and extensible software framework for rendering typographically sophisticated text stsf.sourceforge.netlibunicode: a set of charset converters and string manipulation functions for the Unicode standard sourceforge.net/projects/libunicode/ICU (International Components for Unicode): a portable, open-source C/C++ Unicode library with: charset-independent locales (and multiple locales simultaneously supported in the same thread), character conversions, formatting/parsing for numbers, currencies, date/time and messages, message catalogs (resources), transliteration, collation, normalization, text boundaries (grapheme, word, line-)), etc. www.icu-project.org/ICU4j: a Java Unicode library with extensions to the core Java internationalization libraries: enhanced number formatting and parsing, customizable BreakIterators, additional Calendars (Japanese, Buddhist, Hebrew, Islamic), Business Holidays, Normalizer, optimized international searching, UnicodeSet and Transliteration, SCSU, etc. www.icu-project.org/fribidi: an implementation of the Unicode BiDi (bidirectional) algorithm sourceforge.net/projects/fribidi/Protobidi: a prototype bidirectional widget imagic.weizmann.ac.il/~dov/Hebrew/protobidi/libots: a text summary library sourceforge.net/projects/libots/gtkspell: a set of tools to allow highlighting and replacement of misspelled words in a GtkText widget freshmeat.net/projects/gtkspell/Enchant: the new cross-platform abstract layer to spellchecking www.abiword.org/enchant/libSDL_ttf: a True-type rendering library for SDL (Simple Direct Layer) www.libsdl.org/projects/SDL_ttf/ucdata: a library to handle character properties, case, decomposing and combined classes crl.nmsu.edu/~mleisher/ucdata.htmllibrecode: a transliteration, non-ASCII to ASCII conversion library www.iro.umontreal.ca/contrib/recode/HTML/Computational Resources for Linguistic Research http://www.ling.upenn.edu/courses/ling538/compres.htmSILGraphite: the new generation smart rendering engine and CTL (Complex Text Layout) library graphite.sil.orgGeneral Input Methods and keyboarding toolsgswitchit: the XKB toolkit (configurator, indicator) for GNOME sourceforge.net/projects/gswitchitK_TTY: a Keyman style keyboard interpreter for the console and attached (or pseudo) terminals (including X terminals, remote sessions, etc.) for IPA and non-roman scripts input sourceforge.net/projects/ktty/edk (Enhanced Dispositionned Keyboard): an enhanced input method sourceforge.net/projects/edk/xvkbd: a virtual (graphical) keyboard program for X freshmeat.net/projects/xvkbd/tkxinput: a set of tools to bring Xinput management capabilities to the Tk toolkit www.tls.cena.fr/divisions/PII/produits/tkxinput/SCIM (Smart Common Input Method): a development platform that significantly reduces the difficulty of input method development. SCIM splits input method into three parts: FrontEnd, which handles user interface and communication with client applications, Server, which handles the key event to string conversion work, and BackEnd, which manages all of the Servers freshmeat.net/projects/scim/IIIMF (Internet/Intranet Input Method Framework): a set of tools designed to be the next generation of input method framework which provides the following capabilities:
libklavier: a utility library for X keyboard-related projects. wiki.fontconfig.org/Software/LibXklaviergtkeyboard: a graphical keyboard that can be useful for the physically disabled and for keyboardless workstations. It provides the ability to type into foreign windows, to redirect output, and it also provides many shortcuts for common editing tasks freshmeat.net/projects/gtkeyboardXKeyCaps: a graphical front-end to xmodmap. It displays a keyboard and lets you remap keys using dialog boxes, rather than having to learn the arcane syntax used by the xmodmap command. freshmeat.net/projects/xkeycapsxkb: the standard X keyboard tool www.xfree86.org/downloads.htmlkxkb: the keyboard-switcher in KDE (part of the kdebase package) www.kde.orggkb: the map selection applet for setxkbmap or xmodmap in GNOME projects.gnome.hu/gkb/settxkbmap: the command-line keyboard-switcher www.xfree86.org/downloads.htmlgtk-im-extra: a collection of third party GTK+ input method modules gtk-im-extra.sourceforge.netLanguage specific IM (Input Methods) and keyboarding toolsChinput (Chinese input): an input method for Chinese languages www.opencjk.org/~yumj/project-chinput-e.htmlkinput2: an input method for Japanese ftp.sra.co.jp/pub/x11/kinput2/skkinput: a simple Kana-Kanji-like Japanese input application (website in Japanese) skkinput2.sourceforge.jpim-ja: a generic Japanese input module for GTK+ 2. Currently supported input modes are Hiragana, Katakana, Half-Width Katakana, Zenkaku, Canna, Wnn, and Kanji character recognition freshmeat.net/projects/im-ja/Canna: a CJK (Chinese/Japanese/Korean) input method (website in Japanese) www.nec.co.jp/canna/Interxim: a X11 XIM server that uses the Yudit kmaps files to translate ASCII character sequences to Unicode www.oksid.ch/interxim/imhangul: a Korean input method for GTK+ imhangul.kldp.netxcin (X window Chinese INput): a collection of Simplified Chinese input methods based on XIM (X Input Method), including WuBi, PinYin, and QuWei. It is the descendent of gWuBi xcin.linux.org.twfcitfx (Fun Chinese Input Toy for X): a user-friendly input method for Chinese languages www.fcitx.org/en.htmFreeWnn: a free implementation of the most widely-used Japanese input systems www.freewnn.orgxsim: a simple and fast GB and BIG5 Chinese XIM server developer.berlios.de/projects/xsimivrix: a Hebrew input method www.ivrix.org.ilacon (Arabic CONsole): an input method for left-to-right Arabic text on the console and ligature processing www.gnu.org/directory/localization/adaptations/acon.htmlzhcon: a fast CJK console system zhcon.sourceforge.netim-classicalgreek: an input method for classical Greek im-classgreek.sourceforge.netunicon: a CJK (Chinese/Japanese/Korean) Linux console input and display system from the GNU Project. Supports console virtual terminals, GPM mouse, keyboard, and almost all video devices using the kernel frame buffer. It supports multiple language fonts with a font manager so each virtual console can display a different font and input method. UNICON also can display IBM table characters mixed with double byte language encodings www.gnu.org/directory/UNICON.htmlLuit: Locale and ISO 2022 support for Unicode terminals www.xfree86.org/current/luit.1.htmlKanjiPad: a Japanese handwriting recognition system. It uses the GTK toolkit for a GUI and Todd David Rudicks's algorithms from JavaDict for Kanji recognition. www.gtk.org/~otaylor/kanjipad/Brahmi: Java Input Methods and OpenType fonts for Indian languages sourceforge.net/projects/brahmi/Keyboards (copyleft and freeware)Inscript Keymaps for Indian languages: www.indlinux.org/keymap/keymaps.phpMaltese keyboards: linux.org.mt/article/keyboard?lang=enKeyboards included with SIL fonts: (under SIL academic licensing) www.sil.org/computing/fonts/Keyman keyboards: people.freenet.de/LukasPietsch/Keyman/Keyboards.html zsigri.tripod.com/fontboard/links.html Character mappers and glyph selectorsWord processors offering a "special character" insertion dialog: gucharmap: the full Unicode character map for GNOME gucharmap.sourceforge.netkcharselect: the glyph palette for the KDE environment (part of the kdebase package) www.kde.orgLocales and related toolsA collection of locales By Pablo Saratxaga (The Mandrake i18n specialist): chanae.walon.org/linux/locales/A collection of locales by IBM: oss.ibm.com/developerworks/projects/localelocaledrake: the locale switcher from Mandrake (part of the drakxtools administration suite) rpms.mandrakeclub.com/linux/rpm2html/search.php?query=drakxtoolsredhat-config-language: the locale switcher from Redhat (part of the redhat-config package) www.redhat.comPrinting systems - Device independent files and PDF generationcups (Common UNIX Printing System): the cross-platform printing solution for all UNIX environments. Based on the "Internet Printing Protocol", it provides complete printing services to most PostScript and raster printers www.cups.orgfoomatic: a database-driven system for using free software printer drivers with all known free software spoolers on Unix and Mac OS X sourceforge.net/projects/foomatic/ghostscript: a set of software that provides a PostScript interpreter, a set of C procedures (the Ghostscript library, which implements the graphics capabilities in the PostScript language) and an interpreter for Portable Document Format (PDF) files. Ghostscript translates PostScript code into many common, bitmapped formats, like those understood by your printer or screen. Ghostscript is normally used to display PostScript files and to print PostScript files to non-PostScript printers www.gnu.org/software/ghostscript/ghostscript.htmla2ps: a utility providing pretty-printing capabilities and including support for a wide number of programming languages, encodings (ISO Latins, Cyrillic, etc.), and medias freshmeat.net/projects/a2ps/Tipograf: a frontend to a2ps www.gnu.org/directory/print/postscript/tipograf.htmlPangoPDF: the PDF and PostScript backends for Pango (the internationalization library from GNOME) pangopdf.sourceforge.netLinuxPrinting: a documentation website around printing technologies and hardware for GNU/Linux, xBSD as well as Solaris and OS X www.linuxprinting.orgRead documentation about WSI components and frameworksi18n primersThe GNOME i18n project: developer.gnome.org/doc/whitepapers/gtki18n/The KDE i18n project: i18n.kde.orgThe Intro-i18n documentation from Debian: www.debian.org/doc/manuals/intro-i18n/Howtos, FAQs, man pages and tutorialsThe Font Howto: www.linuxdoc.org/HOWTO/Font-HOWTO.htmlThe True type font howto: www.linuxdoc.org/HOWTO/Font-HOWTO.htmlThe UTF8 and Unicode FAQ: www.cl.cam.ac.uk/~mgk25/unicode.html www.tldp.org/HOWTO/Unicode-HOWTO.htmlThe Sub-Pixel Font Positioning howto: jmason.org/howto/subpixel.htmlThe Font de-uglification mini-howto: www.linuxdoc.org/HOWTO/mini/FDU/The comp.fonts FAQ (unmaintained but still interesting): www.nwalsh.com/comp.fonts/FAQ/ www.faqs.org/faqs/fonts-faq/The keyboard and console howto: www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO.htmlThe XKB Configuration Guide: www.xfree86.org/current/XKB-Config.htmlThe Linux Accessibility howto: www.linuxdoc.org/HOWTO/Access-HOWTO.htmlA Unicode bibliography: www.math.utah.edu/pub/tex/bib/index-table-u.html#unicodeA portal on Chinese computing: seba.ulyssis.org/thesisExamples of language howtosThe Chinese-Howto: www.tldp.org/HOWTO/Chinese-HOWTO.htmlThe Spanish Howto: www.tldp.org/HOWTO/Spanish-HOWTO.htmlThe Thai Howto: www.tldp.org/HOWTO/Thai-HOWTO.htmlThe Linux Documentation Project: www.tldp.orgThe man (manual) and info pages: (you can use the man pinfo yelp or khelpcenter tools to browse the documentation directly on your system, and you can find further documentation in /usr/share/doc/<nameofthepackage>) tldp.org/docs.html#manPapers from the i18n specialists within the FLOSS communityOwen Taylor: people.redhat.com/otaylor/Noah Levitt: www.columbia.edu/~nlevitt/Pablo Saratxaga: chanae.walon.org/~srtxg/Keith Packard: keithp.com/~keithp/talks/Frank Tang: people.netscape.com/ftang/paper/Edward Cherlin: www.unicode.org/iuc/iuc24/b005.htmlYannis Haralambous: www.unicode.org/iuc/iuc16/b014.html omega.enstb.org/yannis/Publications about font technologies"Things we wish we knew when we started on Truetype fonts": home.c2i.net/dark/linux.html#ttf"Fighting Font Frustration" by Steve Coile: people.redhat.com/~mgalgoci/fonts/fixing.html"Using TrueType Fonts with Red Hat Linux" by Dan Kegel : www.kegel.com/linux/tt.htmlThe "Advanced Font System" White Paper by Redhat: www.redhat.com/knowledgebase/newfontsystem/Configure your Desktop Environment (GNOME or KDE on the X Window system) for specific language needsSetting up the various WSI components to work smoothly together involves:
You need to set up these different font types for desktop use:
Under GNOMEfontilus: a set of extensions for the Nautilus graphical shell to help manage fonts on your system freshmeat.net/projects/fontilus
(the "gnome-font-viewer" and the "gnome-thumbnail-font" utilities are part of fontilus) after installing your font you can click on them for a preview to select a particular font as your desktop font, use "Set as Application Font" entry in the context menu gfontview: an outline font viewer freshmeat.net/projects/gfontviewgnome-font-properties: a font configuration dialog (part of the GNOME Control Center)
Under KDEKfontinst: font installation tool for KDE freshmeat.net/projects/kfontinst/
Other font toolsxfontsel: a font selection tool from XFree86 to filter fonts by foundry, family, weight, slant, s width, ad style, pixel size, point size, resx, resy, spacing, average height, registry, encoding www.xfree86.org/4.2.0/xfontsel.1.htmlThe OpenOffice.org administration tool: a utility to configure OpenOffice.org and to add new fonts (they will only be available to OOo) www.openoffice.org/FAQs/fontguide.html
Manual font installation at command-line levelYou can also install fonts manually:
This will only make the fonts available to that specific user (since there are copied to his private home directory). Command-line toolsfc-cache: a font cache creation utility (part of the fontconfig package) fc-list: a font-lister in command-line mode (part of the fontconfig package) www.fontconfig.orgmkfontdir, mkfontscale, fslsfonts, xlsfonts, showfont: a set of utilities to handle font configuration (part of the XFree86-xfs package) www.xfree86.orgFont Matching and Anti-aliasing settingsIn OpenOffice.org:
In Mozilla:
Other font management toolsFontconfig: a set of tools designed to locate fonts within the system and select them according to requirements specified by applications www.fontconfig.orgdrakfont: the Mandrake font manager - a flexible font configuration framework rpms.mandrakeclub.com/linux/rpm2html/search.php?query=drakxtoolsdefoma: the Debian Font Manager - automatic font configuration framework packages.debian.org/stable/admin/defoma.htmldfontmgr: the GUI frontend for defoma packages.debian.org/stable/admin/dfontmgr.htmloto (Open Type Organizer): a tool to show precise font info and allow table mapping sourceforge.net/projects/oto/fontlingue: a font management tool with a web interface www.gesindel.deDotfiles and important configuration files and directories in your filesystemAlthough all these settings are handled by front-end administration tools, it helps to know where to look for settings in your filesystem. Dotfiles
Directories
Some useful environment variables$QT_XFT $GDK_USE_XFT $KEYBOARD $KEYTABLE $KBCHARSET $GTK_IM_MODULE Create your own WSI components based upon the existing copyleft models and toolsFont creation, conversion and modification toolsgfe (GNU Font editor): a graphical font editor based on the GIMP Toolkit www.gnu.org/software/gfe/gfe.htmlgote (GNOME Opentype editor): an editor for vector fonts sourceforge.net/projects/gote/Gribouy: a PostScript font editor www.nongnu.org/gribouy/fonter: a interactive font editor for the console freshmeat.net/projects/fonter/PfaEdit (Postscript font editor): an outline font editor that lets you create your own PostScript, True type, OpenType, cid-keyed, SVG and bitmap (bdf) fonts, or edit existing ones. Also lets you convert one format to another. PfaEdit has support for many MacIntosh font formats pfaedit.sourceforge.netCfe (Console Font Editor): a font editor allowing various glyph transforming, multi-level undo, and comparing glyphs of two fonts. cfe automatically supports loading of .psf and raw binary fonts lrn.ru/~osgene/fontutils: a set of tools to access font internals
otcomp (OpenType COMPiler): a compiler for OpenType fonts (with makefile examples) home.kabelfoon.nl/~slam/fonts/otcomp.htmlPostScript-utilities: a set of tools to handle PostScript and Truetype fonts bibliofile.mc.duke.edu/gww/fonts/postscript-utilities/tftmod: a utility to edit font tables (a companion to PfaEdit) pfaedit.sourceforge.net/TtfMod/truetypeviewer: a useful tool for debugging TrueType instructions and for viewing OpenType Layout features. It supports OpenType single, pair and mark-to-base positioning as well as single, multiple, alternate and ligature substitution home.kabelfoon.nl/~slam/fonts/truetypeviewer.htmltticomp (True type Instruction COMPiler): a compiler for TrueType fonts home.kabelfoon.nl/~slam/fonts/tticomp.htmlotlegacy: a tool to decompose Unicode characters into their components home.kabelfoon.nl/~slam/fonts/otlegacy.htmlfreetype-tools and demos: a set of test tools from the Freetype rendering library www.freetype.orgA collection of related Perl modules from CPAN (the Comprehensive Perl Archive Network): search.cpan.org/search?query=font search.cpan.org/search?query=unicode search.cpan.org/search?query=ttf search.cpan.org/search?query=i18nttfquery: a Python module using FontTools to query TTF font files for metadata and font outlines in a cross-platform manner sourceforge.net/projects/ttfquery/T1utils: six programs that manipulate PostScript Type 1 fonts. Allowing you to change PFB (binary) fonts into PFA (ASCII) format (and back), translate fonts into a disassembled human-readable format (and back), and translate Macintosh Type 1 fonts into PFB or PFA (and back). freshmeat.net/projects/t1utilsfont-tools: a set of font conversion utilities
lcdf-type-tools: various programs for manipulating PostScript Type 1 and PostScript-flavored OpenType fonts. www.lcdf.org/type/MyToys:
fontutils: a tool to convert between font formats and to create fonts www.gnu.org/software/fontutils/fontutils.htmlfontconv: a simple raster font converter www.is-vn.bg/hamster/jimmy-en.htmlttf2pt1: a tool to convert scalable and bitmapped fonts into PostScript Type 1 sourceforge.net/projects/ttf2pt1Fondu: a tool to convert between mac fonts (and FONDs) and Unix font formats sourceforge.net/projects/fondu/TTX: a tool to convert OpenType and TrueType fonts to and from XML sourceforge.net/projects/fonttools/ttf2pt1: a tool to convert nearly all True Type fonts to an Adobe Type 1 .pfa file ttf2pt1.sourceforge.netLocalisation teams and translation statisticsThe Translation project: www.iro.umontreal.ca/contrib/po/HTML/The man page and howto translation projects: www.tldp.orgThe GNOME Translation project: developer.gnome.org/projects/gtp/Review the GNOME translation status: developer.gnome.org/projects/gtp/status/Bring your language to GNOME by setting up a language team: developer.gnome.org/projects/gtp/teams.html#startingThe KDE Internationalization project: i18n.kde.orgReview the KDE translation statistics: i18n.kde.org/stats/gui/Bring your language to KDE by setting up a language team: i18n.kde.org/translation-howto/new-language.htmlMandrake Linux i10n: www.mandrakelinux.com/l10n/translations.php3Fedora i10n: fedora.redhat.com/projects/translations/Localization toolsGNU gettext: a set of libraries and utilities from the GNU project for producing multi-lingual messages www.gnu.org/software/gettext/gtranslator: an enhanced GNU gettext catalogs (.po files) editor for the GNOME desktop environment www.gtranslator.orgkbabel: A set of tools for editing and managing PO files created in GNU gettext for KDE freshmeat.net/projects/kbabelintltool (internationalization tool collection): a tool to extract translatable strings from various source files, collect the extracted strings together with messages from traditional source files (.c, .h), and merge translations from .po files into .xml, .desktop, and .oaf files freshmeat.net/projects/intltool/poedit: a cross-platform GNU gettext catalogs (.po files) editor poedit.sourceforge.netgetxml: an XML internationalization tool, comprised of getxml-extract (makes the header for GNU gettext) and getxml-merge (merges XML and po files) freshmeat.net/projects/getxmlphpbabel: a web application making PHP internationalization easier by allowing a net of translators to do translations on a project and to generate include message files automagically (both constants and functions...) sourceforge.net/projects/phpbabelPlan a Free/Libre and Open strategy for your WSI componentsBe aware of open standards and build interoperable and sustainable WSI componentsThe ISO 639 Language Names: The standard names for use in SGML and XML, including a complete list of language name codes www.loc.gov/standards/iso639-2/iso639jac.htmlIANA Character Sets: the official names for character sets that may be used in the Internet and referred to in Internet documentation - held at the Internet Assigned Number Authority. www.iana.org/assignments/character-setsThe SIL Language IDs: sil.org/ethnologueThe W3C's (World Wide Web Consortium) specification for internationalization (XML, CSS...): www.w3.org/International/The Charsets: czyborra.com/charsets/ The Script Encoding Initiative: organising new languages additions to the the Unicode standard www.linguistics.berkeley.edu/~dwanders/The Unicode Test Pages: a set of pages to test the behaviour of Unicode-capable applications online www.phon.ucl.ac.uk/home/sampa/unicodetest.htm http://web.archive.org/web/20110108105420/http://code2000.net/World Wide Web Consortium: resources from the international web standards organisation covering code tables, Unicode, HTML and XML with links to other resources and forums about internationalization and localization issues relating to character sets. www.w3.org/International/O-charset.htmlResources from the Unicode Consortium: www.unicode.org/onlinedat/resources.htmlThe Free Standards Group: an important standard body www.freestandards.orgLi18nux: The Linux internationalization project www.li18nux.orgThe RFCs (Requests for Comments): the standards of the various building blocks of the Internet www.rfc-editor.orgIDN: the Internationalized Domain Names (IDN) Committee for multilingual Internet addresses www.icann.org/committees/idn/Licensing and cooperative development modelsCompare the copyleft vs. proprietary modelsIf you're serious about creating a sustainable WSI component, you need to think about the following items:
Understand and choose the appropriate licenseFSF licence review www.fsf.org/licenses/GPL FAQ: www.gnu.org/licenses/gpl-faq.htmlFDL howto: www.gnu.org/licenses/fdl-howto.htmlBeware of software patents problemsSoftware patents are an increasing threat to interoperability and independant software creation. As a WSI component developper or contributor, you must be aware of this important issue. Example of the aliasing and hinting patent from Apple and other similar problems:your project may be safe in some countries and a big hassle in some others www.freetype.org/patents.htmlFFI (Foundation For a Free Information Infrastructure): a non-profit association registered in Munich dedicated to the spread of data processing literacy. FFII supports the development of public information goods based on copyright, free competition about open standards. www.ffii.orgPartnerships and fundingThere are other models than commercial-only WSI components:private/public/funding has to be considered for minority-friendly low-commercial-value WSI components Look for possible partners for WSI development:
Set-up a micropayment funding model: Paypal: www.paypal.comThe street performer models: www.logarithmic.net/pfh/RSPPThe Potlach protocol: www.potlatch.netLook into research grants and awards:
Set up your FLOSS WSI project and get the community's interest and helpUnderstand the basics of Free, Libre and Open Source software developmentThe concept of copyleft: www.wikipedia.org/wiki/CopyleftThe GNU project: www.gnu.orgThe Linux kernel: www.linux.orgA timeline of Unix and GNU/Linux: www.robotwisdom.com/linux/timeline.htmlWhat is Free Software? www.fsf.org/philosophy/free-sw.htmlWhat is Open Source? www.opensource.org/docs/definition.phpThe GNU Coding standards: www.gnu.org/prep/standards_toc.htmlThe Software Project Management Howto: www.tldp.org/HOWTO/Software-Proj-Mgmt-HOWTO/The Software Release Practise Howto: www.tldp.org/HOWTO/Software-Release-Practice-HOWTO/The Jargon File: a comprehensive compendium of hacker slang illuminating many aspects of hackish tradition, folklore, and humor (very useful to somewhat understand the values and the mindset ot the FLOSS community) info.astrian.net/jargon/The Open Source, Free Software and copyleft classics: OpenSources: Voices from the Open Source Revolution www.oreilly.com/catalog/opensources/The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary www.oreilly.com/catalog/cathbazpaper/Free Software, Free Society: Selected Essays of Richard M. Stallman www.gnupress.org/book13.htmlFree as in Freedom: Richard Stallman's Crusade for Free Software www.oreilly.com/catalog/freedom/Code and Other laws of Cyberspace: code-is-law.org/The Future of Ideas: cyberlaw.stanford.edu/future/Distrowatch: a good review website for the many major and specialized GNU/Linux distributions (with precise package version tracking) www.distrowatch.netLearn and contribute to the discussion on the major i18n mailing-listsThe Mandrake-i18n mailing-list: archives.mandrakelinux.com/cooker-i18n/The Redhat-i18n mailing-list: www.redhat.com/mailman/listinfo/i18n-listThe Debian-i18n mailing-list: lists.debian.org/debian-i18n/The GNOME-i18n mailing-list: lists.gnome.org/mailman/listinfo/gnome-i18n/The KDE-i18n mailing-list: mail.kde.org/mailman/listinfo/kde-i18n-fa/The XFree86-i18n mailing-list: /' target='_blank'> www.mail-archive.com//Learn how to package and deploy your WSI projectsRPMS howtos: qa.mandrakesoft.com/twiki/bin/view/Main/RpmHowToSmart package managers (with repository creation tools): freshrpms.net/apt/Community sites that offer to host your WSI component project and set up a distributed team so that speakers and specialists can contribute: www.mozdev.orgIf you feel like it you can also set up your own team platform using FLOSS groupware: groupware.openoffice.org/glow/ www.ximian.com/products/evolution/ www.open-steam.org/en/Community sites and software catalogs where you can announce your project to make users and developpers aware of your project and get some potential contributors: Freshmeat: the largest FLOSS catalog www.freshmeat.netFootnotes: GNOME desktop news www.gnomedesktop.orgThe Dot: KDE desktop news dot.kde.orgSlashdot: the huge news portal slashdot.orgCreate and publish documentation for your WSI componentsmanedit: the ManEdit UNIX Manual Page Editor is an editor specifically tailored for UNIX manual pages. It has a preview viewer, uses the manual page XML format for easy editing, and comes with a tutorial and reference guide and templates freshmeat.net/projects/maneditdocbook: an XML and SGML dialect that enables you to author and store document content in a presentation-neutral form that captures the logical structure of the content. Using the modular DocBook stylesheets and related resources, you can transform, format, and publish your DocBook content as HTML pages and PDF files, and in many other formats, including TeX, RTF, FrameMaker MIF, JavaHelp, Microsoft HTML Help, UNIX man pages, and TeXinfo sourceforge.net/projects/docbook/yelp (gman): The man and info interface for GNOME www.gnome.org/softwaremap/projects/Yelpkhelpcenter: The man and info interface for KDE (part of the kdebase package) www.kde.orgCreate training material for your WSITypinggtypist (GNU typist): a universal typing tutor www.gnu.org/software/gtypist/ktouch: a program for learning how to touch-type ktouch.sourceforge.nettypingtrainer: a typing skills training programme. Allows teachers to examine and record student's typing speed and accuracy sourceforge.net/projects/typingtrainerLanguage learning softwareklettres: a tool to help learning the alphabet and practise reading syllables in different languages edu.kde.org/klettres/flashkard: a vocabulary training tool. It is designed to be used in any situation where a fixed set of vocabulary (technical or linguistic) is to be learnt freshmeat.net/projects/flashkardvocabularytrainer: a flashcard training system for learning words in foreign languages. You can use language modules to change the language of its interface and can choose one of three learning modes (Random, Often-unknown words, and Seldom-asked words) freshmeat.net/projects/vocabularytrainerkvoctrain: a vocabulary trainer from the KDE project kvoctrain.sourceforge.netMinivoki: a minimal console-based vocabulary learning aid which has some interesting features. It comes with Korean, Chinese, and Japanese input parsers, 7-bit input for 8-bit characters like accents, one-direction-only word pairs, learning and test modes, and some others features freshmeat.net/projects/minivokizaban: a multimedia database of human languages. It provides the flash card functionality people often use for learning foreign languages. You can enter words (both text and sounds) from multiple languages and have them played back to you in multiple ways. It has support for many different alphabets, audio recording, playback, and compression, configurable auto-cycle with audio playback, a shuffle mode to rearrange the order of playback, searching with regular expressions, configurable keymaps, and support for user generated lists. The sample database contains Swahili, Farsi, Hebrew, and English freshmeat.net/projects/zabaanhanzim ("Hanzi Master"): an interactive visual dictionary for learning and seeing relationships between Chinese radicals, characters, and compounds freshmeat.net/projects/hanzimkanjidrill: a multiple-choice Kanji quiz program that helps people learn Japanese characters with dif Note: the opinions expressed in submitted contributions below do not necessarily reflect the opinions of our website. © 2003-2024 SIL International, all rights reserved, unless otherwise noted elsewhere on this page. |