Recommendations for presenting ancient languages on the web.

Unicode, HTML, CSS, and other matters.

Drawing up web pages with ancient languages (or any language, for that matter, that does not use the Latin alphabet) is both art and science. One can quickly find the material sprawling out of practical control. It is best to make a few key decisions right from the start, and stick to them as best as one can.

I recommend taking the following steps when designing a website that will present multiple languages:

  • Display text in a platform-independent form, namely in Unicode. The support for Unicode is growing, while support for independent fonts is and has always been sketchy and fragmented. Subscribing to an international standard such as Unicode allows your visitors to settle on one font or small set of fonts for all their browsing needs. There is, however, no need to dispense entirely with your favorite font. You can type up all work in a font, then use any of a number of utilities, such as the TextCoder or TextDoctor, to convert your work into Unicode.
  • Use the decimal Unicode references for special characters instead of the HTML character names. I write &#160;, for example, rather than &nbsp;, or &#38; rather than &amp;, when I need a space or an ampersand, respectively, in my HTML coding. An interactive table of character references might be of service.
  • Use styles instead of the old physical tags to change the appearance of text on the page. The old strikethrough tag, for example, has been deprecated. The newer style tag for the same effect would be style= "text-decoration: line-through". With the interactive CodeTester you can test out your HTML code and display the results as if on an actual web page. You can test out JavaScript scripts on the ScriptTester.
  • Use cascading style sheets, and create a class for each language in regular use on your web site. uses the following classes: hebrew, greek, coptic, latin, and english. Note that each class is in all lowercase. No need to make coding more difficult. Even if you end up using the same font and other styles for all your foreign languages, it is best to have a class for each just in case you find a better font for one of them, but not the rest, later.
  • On your stylesheet, code any font sizes relatively, not absolutely. Absolute sizing is by point value. Relative sizing is a sliding scale from xx-small to xx-large, with medium in the middle. Using relative sizing will allow the reader to adjust the size of the text, which may be especially important for reading languages less familiar than his or her native tongue.
  • Employ a legible combination of text and background color. The interactive ColorTester can help in this regard. For some reason, however, I always find myself coming back to simple black on white.