diff options
author | James Bursa <james@netsurf-browser.org> | 2005-01-08 21:02:32 +0000 |
---|---|---|
committer | James Bursa <james@netsurf-browser.org> | 2005-01-08 21:02:32 +0000 |
commit | c4580a33f78825e385626610fbbff9a675b248a4 (patch) | |
tree | d4ab197d183e4a917202415cb7bd44b75d5c7866 /rufl_substitution_lookup.c | |
download | librufl-c4580a33f78825e385626610fbbff9a675b248a4.tar.gz librufl-c4580a33f78825e385626610fbbff9a675b248a4.tar.bz2 |
[project @ 2005-01-08 21:02:32 by bursa]
Initial version of RISC OS Unicode font library. Require Unicode (RO5) Font Manager.
svn path=/import/rufl/; revision=2443
Diffstat (limited to 'rufl_substitution_lookup.c')
-rw-r--r-- | rufl_substitution_lookup.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/rufl_substitution_lookup.c b/rufl_substitution_lookup.c new file mode 100644 index 0000000..fba76aa --- /dev/null +++ b/rufl_substitution_lookup.c @@ -0,0 +1,32 @@ +/* + * This file is part of RUfl + * Licensed under the MIT License, + * http://www.opensource.org/licenses/mit-license + * Copyright 2005 James Bursa <james@semichrome.net> + */ + +#include "rufl_internal.h" + + +/** + * Look up a character in the substitution table. + * + * \param c character to look up + * \return font number containing the character, or NOT_AVAILABLE + */ + +unsigned int rufl_substitution_lookup(unsigned int c) +{ + unsigned int block = c >> 8; + + if (256 < block) + return NOT_AVAILABLE; + + if (rufl_substitution_table->index[block] == BLOCK_NONE_AVAILABLE) + return NOT_AVAILABLE; + else { + return rufl_substitution_table->block + [rufl_substitution_table->index[block]] + [c & 255]; + } +} |