Contents |
With the universal adoption of Unicode since SuperMemo 15, fonts should not longer be a headache as it was the case in earlier versions of SuperMemo.
There is still a confusing array of choices of components and encodings. If in doubt, use the default HTML component. To start using fonts and richly formatted texts, you need to change nothing.
If you still want to explore all options available, you may wish to know that the way you use fonts in SuperMemo depends on the type of the component, the way the font is defined, and the way the texts are encoded. The number of possible combinations of these three may lead to a substantial confusion (not only among SuperMemo beginners). If fonts and encodings are important for your learning material (e.g. if you learn foreign languages using non-Latin alphabets), it is important that you make good choices in the way you use fonts before you embark on a major expansion of your collection. The summary overview below will help you understand the terminology of fonts as well as the pros and cons of different choices.
The way you see fonts in SuperMemo can be defined in a number of ways. Here are the most often used methods:
Character encoding is a code that matches a set of characters with a specific sequence of numbers. Computers store all texts as numbers. For example, in ASCII encoding, numbers 97, 98, and 99 code for characters a, b, and c. Thus a sequence 97-98-99 codes for abc. SuperMemo uses 3 basic character encoding systems: ANSI, UTF-8 and 16-bit Unicode. ANSI is used to represent simple texts made of up to 255 characters taken from any number of 255-character sets. In ANSI encoding, interpretation of individual codes depends on the character encoding table called a code page. Unicode is used to represent texts with virtually all commonly used characters. UTF-8 encoding is used to represent Unicode characters with 8-bit characters in such a way that all ASCII texts are unchanged and all non-ASCII characters have the most significant bit set.
Character encodings used in SuperMemo
Some Q&A files may also be UTF-8 encoded. If so, you should decode these files on Q&A import (check Decode UTF-8 box in the Import Text dialog box)
Component type | HTML | Text, sound, Spell-Pad | RTF | Image, Video | Binary, OLE |
Encoding | Unicode | Unicode | Unicode | No character encoding, bitmapped | The server application, such as MS Word, Power Point, etc. determines how the fonts are displayed |
Font definitions | Hard-wired into HTML code via typeface references, defined in stylesheets, or taken from the default settings of Internet Explorer | Stored in the font registry (unless the default font is used as determined in Tools : Options : Fonts) | Hard-wired into RTF files | No reusable font definition; font representation is part of the file | Depends on the server application |
Modifiable | yes | yes | yes | no (except dedicated image or video editors) | Depends on the server application |
Globally modifiable | no (if defined in HTML) yes (if defined in stylesheets, templates, or in the web browser) | yes, by:
| no | no (except through object reuse) | no (except through object reuse) |
Searchable | no, fonts are not registered with the font registry members (i.e. there is no link between texts and registry fonts) | yes (except when the default question font or the default answer font is used) | no, fonts are not registered with the font registry | no | no |
Pros | Universal application, supports Unicode, supports stylesheets | Small size, speed | Unicode | All imaginable texts can be displayed | All imaginable texts can be displayed and be editable with the server application |
Cons | May not be globally modifiable (if defined inside HTML), large size of collections (if defined inside HTML), Internet Explorer required | Limited to 255 character sets (i.e. only 255 characters possible in a single component) | Not globally modifiable, large size of collections, format supported only for backward compatibility with earlier SuperMemos (may be phased out in the future) | Pictures are not an efficient way of representing texts (size, convenience of editing, etc.) | Depend on the server application Not integrated with SuperMemo |
Typical use | Incremental reading, Default text format | Redistributable collections, template-based collections with many elements (for small size), language learning with code page fonts | Legacy collections | Mathematical formulas, demos, presentations, etc. | Specialist application that depends on the server application |