diff options
author | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:43:39 +0200 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2011-10-10 17:43:39 +0200 |
commit | f4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch) | |
tree | 2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/programs/xterm/unicode/precompose.c.tail | |
parent | a840692edc9c6d19cd7c057f68e39c7d95eb767d (diff) | |
download | nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.gz nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.bz2 nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.zip |
Imported nx-X11-3.1.0-1.tar.gznx-X11/3.1.0-1
Summary: Imported nx-X11-3.1.0-1.tar.gz
Keywords:
Imported nx-X11-3.1.0-1.tar.gz
into Git repository
Diffstat (limited to 'nx-X11/programs/xterm/unicode/precompose.c.tail')
-rw-r--r-- | nx-X11/programs/xterm/unicode/precompose.c.tail | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/nx-X11/programs/xterm/unicode/precompose.c.tail b/nx-X11/programs/xterm/unicode/precompose.c.tail new file mode 100644 index 000000000..0ceca9b6c --- /dev/null +++ b/nx-X11/programs/xterm/unicode/precompose.c.tail @@ -0,0 +1,23 @@ +}; + +int do_precomposition(int base, int comb) { + int min = 0; + int max = sizeof(precompositions) / sizeof(precompositions[0]) - 1; + int mid; + unsigned int sought = ((unsigned)base << 16) | (unsigned)comb, that; + + /* binary search */ + while (max >= min) { + mid = (min + max) / 2; + that = ((unsigned)precompositions[mid].base << 16) | ((unsigned)precompositions[mid].comb); + if (that < sought) { + min = mid + 1; + } else if (that > sought) { + max = mid - 1; + } else { + return precompositions[mid].replacement; + } + } + /* no match */ + return -1; +} |