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:

    fbintl2.dll

    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).

    pjcolkit_ver_0_5_1

    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 customization easier.
    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.

    Older versions

    If you are only looking for some skeleton code for your own fbintl2.dll, you may want to start with the lighter older versions:

    Links

    Mostly collected for my personal use.

    http://www.brookstonesystems.com/
    ibCollate, no-case and no-case no-accent collations for Interbase and FB1.0
    http://www.brookstonesystems.com/CollateKit.zip
    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