Firebird INTL Architecture
Tables, Charts, Demos
Firebird INTL Architecture - Latin Charsets Crossreference
Papers, Rants, Essays
I started collecting mental, elecronic and physical notes about
the future of the Firebird INTL Architecture:
Tired of answering in firebird-support, I tried to put some summaries together:
Via the dynamically loaded library fbintl2.dll, you can add support
for additional character sets and collations. Note that in addition to putting
the DLL in the Intl directory, you must also enter the charsets and collations
into the sytem tables. Please start with reading the doc in Dave's CollateKit (see below).
This is a small example fbintl2.dll, which
can be used as a skeleton for implementing your own character sets and collations.
Also to be found in this package:
- Test implementation of TIS 620
- Implements the Thai character set TIS 620 and sorting
according the Thai Royal Dictionary. Will eventually become
part of Firebird, if tests are successfull.
Also a technical demonstation for bit-efficent multi level collations,
as it only uses 10 bits per character, contrasted to 24 bits of
current Firebird's multi level collations.
More on Thai...
- How to put the collation info into an external data file, making
- I don't really buy this point, as recompiling
fbintl2 isn't that complicated, but YMMV. The external data file is binary, so
you better write a program to manipulate it or are a happy user of hex editors.
- Simple no-case and no-case/no-accent collations.
- These are simple one-level collations (each character is mapped to one byte
for sorting purposes). Despite being the most primitive sorting method, it's just what
some users want. And for a no-case/no-accent collation, it's not a bad fit.
If you are only looking for some skeleton code for your own fbintl2.dll,
you may want to start with the lighter older versions:
Mostly collected for my personal use.
- ibCollate, no-case and no-case no-accent collations for Interbase and FB1.0
- Essential documentation of the INTL architecture
Last Update 2004-05-19
By Peter Jacobi, Hamburg, Germany
Please give feedback to
peter_jacobi AT gmx DOT net