path: root/projects/rufl/index.html
diff options
authorMichael Drake <>2014-10-15 09:45:34 +0100
committerMichael Drake <>2014-10-15 09:45:34 +0100
commitdcaea5b92bf277c0247ac58623473d1b2f2e3f25 (patch)
tree2afc4b5f645e8d6d667d9e76702950ab45cbdfe4 /projects/rufl/index.html
parente7b6012b8d9db33f23f9950edb7daa2a5fef038b (diff)
parent1fdff7a69a23fbbfda079dd13d4adad649bf980a (diff)
Merge branch 'master' of git://
Diffstat (limited to 'projects/rufl/index.html')
1 files changed, 74 insertions, 0 deletions
diff --git a/projects/rufl/index.html b/projects/rufl/index.html
new file mode 100644
index 0000000..e5dd733
--- /dev/null
+++ b/projects/rufl/index.html
@@ -0,0 +1,74 @@
+ "">
+<title>RUfl for RISC OS</title>
+<link rel="stylesheet" type="text/css" href="/projects/projects.css">
+<link rel="icon" type="image/png" href="/webimages/favicon.png">
+<div class="projects">
+<li><a href="/">NetSurf</a></li>
+<li><a href="/projects/hubbub/">Hubbub</a></li>
+<li><a href="/projects/libcss/">LibCSS</a></li>
+<li><a href="/projects/libdom/">LibDOM</a></li>
+<li><a href="/projects/libparserutils/">LibParserUtils</a></li>
+<li><a href="/projects/libwapcaplet/">LibWapcaplet</a></li>
+<li><a href="/projects/libsvgtiny/">Libsvgtiny</a></li>
+<li><a href="/projects/libnsfb/">LibNSFB</a></li>
+<li><a href="/projects/libnsbmp/">Libnsbmp</a></li>
+<li><a href="/projects/libnsgif/">Libnsgif</a></li>
+<li><a href="/projects/librosprite/">LibROSprite</a></li>
+<li><a href="/projects/iconv/">Iconv</a></li>
+<li><a href="/projects/ttf2f/">TTF2f</a></li>
+<li><a href="/projects/tinct/">Tinct</a></li>
+<li><a href="/projects/libpencil/">Libpencil</a></li>
+<h1>RUfl for RISC OS</h1>
+<h2>What is RUfl?</h2>
+<p>RUfl is the RISC OS Unicode font library. It provides a high-level interface to rendering and measuring Unicode text. RUfl was developed to enable NetSurf to handle Unicode text on RISC OS. It is available for use in other applications.</p>
+<p class="screenshot"><img src="images/rufl_chars.png" alt="" title="Screenshot of rufl_chars"></p>
+<li>Uses native fonts and the Font Manager</li>
+<li>Takes advantage of Unicode fonts on RISC OS 5</li>
+<li>Substitutes missing characters with other fonts</li>
+<li>Handles all the complexities &ndash; just feed RUfl with UTF-8 text and it does the rest</li>
+<li>C and Python interfaces</li>
+<li>MIT licence</li>
+<p>RUfl simplifies the task of making best use of the underlying font manager and provides functionality that the font manager does not. Applications (such as NetSurf) just feed RUfl with UTF-8 encoded text and RUfl does the rest for them.</p>
+<p>If the underlying font manager is Unicode capable, then RUfl will plot the text using the selected font. If a particular glyph does not exist in the selected font, then it looks up a substitute font that does contain the glyph and uses that. If no fonts on the system contain the glyph, a Unicode codepoint is plotted in place of the glyph.</p>
+<p>When running on a non-Unicode font manager, RUfl checks whether the selected font contains the glyph, and if it does, which font encoding contains it. It then converts to an 8 bit character code and plots the text using the encoding found. This enables applications to make full use of fonts, such as Homerton and Trinity, that contain additional glyphs in other encodings. If the font did not contain a particular glyph, it looks for another font that does. If it finds one, it does the same encoding lookup and plots it accordingly. If no fonts on the system contain the glyph, a Unicode codepoint is plotted in place of the glyph.</p>
+<p>RUfl manages to do all this efficiently by maintaining cached lookup tables containing various mappings.</p>
+<h2>Source code</h2>
+<p>You can <a href="">browse the source code</a> via the online interface. Alternatively, you can check it out with Git:</p>
+<p class="svncommand">$ git clone git://</p>
+<p>RUfl is licensed under the <a href="">MIT Licence</a>.</p>
+<p>Please report any problems with this library to the <a href="">developer mailing list</a>.</p>
+</html> \ No newline at end of file