FAQ: Using texts and fonts in SuperMemo

Use plain text components in templates if you want to modify font in texts
(Adam, Australia, Wed, May 23, 2001 4:32)
HTML and rich text format field does not seem to remember a custom font name when in a custom template. I am trying to create a default template. There are just two rich text fields, but I am using different fonts: Arial, Rockwell, etc. When I save a new template as default, and create a new element, the fonts show ok, but the template does not modify other texts
If you want to modify the font in existing texts, you can use plain text components. RTF and HTML components only apply the font when you begin typing the text. Otherwise, they use the font stored in RTF or HTML files

East Asian Texts and IME
(Guy Z, Israel, Saturday, November 09, 2002 10:20 AM)
How can I enter East Asian text in SuperMemo using Microsoft IME (e.g. Japanese, Chinese)?
Follow these steps:

  1. Make sure to first install correctly all the necessary files on your system:
    In Windows XP:
    1. Go to Regional and Language Options in Control Panel
    2. Check Install files for East Asian languages under the Languages tab
    3. Click Apply and follow the installation instructions. Restart your computer if necessary
    4. Click Details... for Text services and input languages in the same tab
    5. Add the input language. Make sure that the Keyboard layout/IME option is set to Microsoft IME
    6. Click Language Bar and check the box Show Language bar
    7. In the Advanced tab, check the box Extend support for advanced text services to all programs
    8. Click OK and exit all windows
  2. Activate IME in SuperMemo:
    1. Right click on any item in the Contents window and select Rename
    2. Right click on the editable text and select Open IME. If it doesn't appear you have probably not installed the operating system local support correctly. Make sure you can first type in an IME language in all applications
  3. You should preferably create HTML components for use with Asian languages
  4. Set the desired font (depending on the target language)
  5. Select the same language in the Language Bar
  6. You can now type freely just as you would in any other IME supporting program

Using diacritical characters when learning a foreign language
(Joan Rawlin, Canada, Monday, July 08, 2002 10:58 AM)
I am learning Spanish. I need to use accents (e.g. Ǡ硳, etc.). How I can access these types of characters in SuperMemo?
You need to install a relevant keyboard layout in Windows. This is not a function of SuperMemo. 

For example in Windows XP you could: 

  1. Click the Start button 
  2. Click on Control Panel 
  3. Click Date, Time, Language, and Regional Options 
  4. Click Regional and Language Options 
  5. Click the Languages tab 
  6. Click on the Details button 
  7. Click the Add button 
  8. Select the keyboard layout menu 

To type the special characters, two keystrokes are required. To type the �you need only strike the apostrophe key and then the letter a: 
� ' + a 
瞽 ' + e 
랽 ' + i 
��' + o 
� + u 
�~ + n 
�+ u 
If you don't want to change your keyboard, you can always type in the codes like this: 
� Alt + 0225 
瞽 Alt + 0233 
랽 Alt + 0237 
��Alt + 0243 
�lt + 0250 
�Alt + 0241 
�t + 0252 
! = Alt + 0161 
¿ Alt + 0191

You can easily increase the size of fonts throughout the collection
(Robert Budzul, Oct 04, 2004, 10:30:34)
I want to change the font size for every element in the collection, not for just one element. Why is it so simple on Pocket PC (or older SuperMemos) and so difficult in SuperMemo 2004?
SuperMemo 2004 or later provides three basic ways the fonts are applied. This provides you with extra options. However, it also increases the perceived complexity. The three options are:

  1. default font, which can be changed for the entire collection
  2. template font, which can be changed in all elements using a given template
  3. local font, which is intertwined within HTML or RTF code of a given text component
If you use a local HTML font, by definition, you cannot change it globally. To change fonts in many elements at the same time, you must use plain-text templates (e.g. ready-made Classic template). You can overwrite a local HTML font with a plain-text template, but this will overwrite all your HTML formatting. 

For a throwback to the simplest solution (as in older SuperMemos), in which you change the font and see the change throughout the collection, use a font-less plain-text template and change Question Font and Answer Font in Options

Note that the new SuperMemo for Pocket PC also uses HTML. In other words, all SuperMemos seem to drive in the direction of expanding your options even though at times it adds to program's complexity

SuperMemo stores its fonts in the fonts registry
(Rachel B., DVM, Wednesday, August 24, 2005 12:55 AM)
Where are SuperMemo fonts normally stored? What is the name of their folder so that I may search my desk top for them?
SuperMemo does not install its own fonts in Windows. However, in rare circumstances, it can install fonts that are part of a SuperMemo collection. Those fonts are standardly installed in Windows and all font files can be found in a relevant windows folder (e.g. c:\windows\fonts, etc.). When SuperMemo uses a specific Windows font, it stores its definition in the font registry. The definition includes typeface (e.g. Arial, Courier, etc.), size, color, style, etc. Font definitions are kept in the file font.dat that is part of the font registry (all files matching [collection folder]/registry/font.*)

Cloze keywords do not retain the enveloping font
(mahabharatta, Oct 07, 2004, 01:42:28)
How can I retain font information when generating clozes? When a keyword is extracted from the article to be put into the answer field, it should retain its original font information (face, size, color), etc.?
When you extract a keyword with a cloze deletion, it is copied into the answer field with all inner HTML formatting. However, no outer formatting is copied. This also refers to the enveloping HTML <FONT> tag. For the formatting to be retained, the enveloping tag must be included with the keyword. For example

If you want to cloze the IPA pronunciation in the following text:

Originally the term Zipf's law meant the observation of G.K. Zipf (IPA: [zɪf]) that the frequency of use of the nth-most-frequently-used word in any natural language is approximately inversely proportional to n

It will lose the enveloping font and the answer will become: zɪf

However, if you cloze the same keyword with the square brackets:

Originally the term Zipf's law meant the observation of G.K. Zipf (IPA: [zɪf]) that the frequency of use of the nth-most-frequently-used word in any natural language is approximately inversely proportional to n

The answer will copy correctly as: [zɪf]

If the font tag reaches far beyond the keyword, you may need to resort to manually copying the tags in the source HTML code (use Ctrl+Shift+F6 or File : View source to quickly access the source of an HTML component), or to (1) pasting the keyword into a surrounding with a different font setting, (2) executing the cloze and (3) correcting the question. You can also simply copy the keyword to the clipboard and paste it to the answer

Accidental global change of font may have different causes
(Stanley Ross, Sep 03, 2005, 03:21:44)
All of a sudden all my fonts changed. Do you know what happened? How can I change it back?
It depends on the type of text components you use and on the way you apply font in those components. The most likely ways of changing fonts globally are: 

The most likely accidental causes are: 

Once you identify the cause, all the above operations can be reversed in the same way they were executed. See also: Using fonts in SuperMemo

Text : Font : Link Font works differently in different components
Why does SuperMemo confuse the user by allowing him to think that he is linking a font to an HTML component (as if with the plain text component)?
Choosing Link Font works differently in HTML components. Because HTML allows of rich formatting, the font is linked to the HTML component, but is applied only to the selected text. If the selection is empty, the font will still be linked but there will be no visual feedback as no text will be reformatted. In addition, when you link the font to HTML components, it will not affect any other elements using the same template (this could ruin all your formatting). The font will only be used when you start typing new text to newly created elements based on the modified template. For more about fonts see: Fonts (in Tools : Options)

Use plain text templates to change fonts in an imported Q&A file
(AQ, USA Educational, Jul 22, 2005, 13:23:21)
I imported a Q&A file, changed font size in one item, and hoped the rest would follow, since they're all using the same template. Documentation says they should. But, only that one item is changed
For the change to succeed globally, you must make sure your template uses plain text components (as opposed to, for example, HTML components). Only plain text templates carry a font. HTML and RTF templates use the font encoded in the HTML or RTF file. See also: Using fonts

SuperMemo automatically installs fonts that are part of a collection
(Natalie Burgess, USA, Nov 10, 1998)
I am using the Japanese mix but I'm not getting Japanese characters, but English characters. I copied the fonts called hiragana.ttf and katakana.ttf from the sm98\systems\... folders to my d:\Windows\Fonts folder. Is there something else I have to do to have the fonts available in Windows 95?
Yes. Instead of copying fonts you should install them. In Windows, use Control Panel : Fonts : Install New Font. In the Folders panel, choose the location where your TTF font can be found (supermemo\systems\font\hiragana.tff).
Please note that SuperMemo 98 or later automatically installs true type fonts located in the FONT folder so that the installation is actually not needed (the only exception is Classical Greek from Super Memory Store which uses non-true-type font)

Problems with formatting
(Tuan Hoang , Tuesday, February 18, 2003 1:31 AM)
When I want to number the paragraphs by adding a number before the first word of the paragraph, and want to line sentences up by adding spaces to lines under the number, the program won't let me. It brings a word from the previous line down to the line I'm trying to add spaces to, instead of lining up the paragraph
This behavior is beyond control of SuperMemo. The auto-formatting actions are under the control of Internet Explorer. In your case, instead of formatting paragraphs with spaces, you should rather use numbered lists by clicking the Numbering or Bullets icon on the Format toolbar. Other than plain text applications (e.g. Notepad), you will notice similar problems with formatting texts in other word processors (e.g. Word, FrontPage, etc.). This behavior proves to actually save you time in the long run as long as you follow the recommended course of action

You can launch FrontPage with Ctrl+F9
(Jiri, Wednesday, August 27, 2003 1:59 AM)
When I press Ctrl+F9 on HTML component, FrontPage does not launch. Could you make it so happen that the editor specified somewhere in the options is launched. I do need it so much I would shoot the moon for that for you
You can launch FrontPage with Ctrl+F9. The following conditions must all be met: 

  1. the current component is an HTML component (e.g. if it is plain text, Ctrl+F9 will have no effect)
  2. you have Front Page installed 
  3. FrontPage must be associated with the 'Edit' action (not 'Open')

Default HTML editor will not open if the text is not of HTML format
(Moritz Berger , Germany, Thursday, August 28, 2003 4:10 PM)
I've noticed that on some HTML components I can open the default HTML editor while on some others this doesn't work
If the text kept in the HTML component is unformatted, it is stored in your collection as a plain text string. SuperMemo will open the HTML editor only on formatted HTML texts. If you would still like to edit a plain text string in an HTML editor, you can trick SuperMemo by applying any formatting (e.g. Ctrl+B will turn a portion of text bold, or Ctrl+] will increase the size of the font)

HTML and plain text components are best for storing texts
(Jan, Jun 16, 2005, 20:41:59)
What format is best for saving items in SuperMemo? Plain Text, RTF or HTML?
Use plain text for a large number of unformatted questions and answers. Use HTML for formatted text, tables, text interleaved with pictures, etc. Other ways of storing text have many drawbacks and should be avoided. In particular: RTF is retained for compatibility only, and OLE is rather unstable. In short: plain text is fast and small, while HTML allows of rich formatting

You can import Turkish Q&A file even if it is stored in MS Word
I have a Q&A file with questions in Turkish. It is stored as an MS Word document (DOC format). It looks more or less like this: 

Q: çarşaf ağıt
A: önür 

How can I import it to SuperMemo? Neither DOC nor RTF nor Unicode seem to work
Do the following:

  1. choose Save As in MS Word
  2. choose Save As Type : Encoded Text 
  3. choose Save and Yes 
  4. choose Unicode (UTF-8) 
  5. choose OK

Import the file with File : Import : Q&A text.

Explanation: Import : Q&A text accepts only plain text (e.g. as viewable in the Notepad). This is why neither DOC nor RTF formats are acceptable (if you open these files in the Notepad you will see they carry lots of "garbage"). The import procedure can only convert UTF-8 encoded texts to Unicode, this is why you need to save the file as UTF-8 encoded text (not just Unicode)

Important! If you have any problems with converting MS Word files, you can always simply select the entire text, copy it to the clipboard, paste to SuperMemo with Ctrl+Alt+N and process it with incremental reading

You can set fonts globally on Q&A import
(rodney, Japan, Oct 10, 2004, 14:27:49)
I have imported a set of questions and answers into SuperMemo as a Q&A text file. However, I want to set the font for all items simultaneously
You have a couple of options: 

  1. use HTML formatting within the Q&A file to set fonts 
  2. use plain-text template with your chosen font on import (you can either reuse current element's template or select template from the template registry) 
  3. apply the template to imported items after the import

You can use PDF files in learning
(Bob Welzel, Thursday, August 22, 2002 2:33 PM)
I would like to use incremental reading, however, a large proportion of the learning material I would like to know is in PDF files. SuperMemo does not support this format. What do you advise?
You could choose between the following three solutions:

  1. You could convert original PDF files to HTML documents, which can be later easily imported to SuperMemo. E.g. if your PDF files are available on-line, you could visit the Adobe PDF Conversion by Simple Form page
  2. You could read your PDF files in Acrobat Reader, select only the most important pieces with the Text Select Tool, copy them to the clipboard, and paste them to SuperMemo as individual articles
  3. You can also store PDF files in the binary component or as links in HTML

You can link to PDF files from the HTML component
(Mala Kaur, Tuesday, July 24, 2001 6:03 AM)
I wanted to import PDF files to SuperMemo for reading and copying certain items for further analysis. I initially tried to use Insert as an OLE object but I found OLE mechanisms unstable
Another approach is to use the HTML component. Use Insert HTML link : HTML file (on the HTML component menu) and link to the PDF file. Using this option the PDF file is not immediately visible as only files of type *.txt, *.htm, *.html, *.xml, *.rtf, *.flt are listed. To see the PDF files on your drive type in *.pdf in the file name field and they become visible in the File window. Naturally, you need to have Acrobat Reader installed to view the file in SuperMemo. The same method works for Excel files, Word files, etc. However, you might made your life simpler if you just pasted your PDF text into HTML component

You can attach a PDF file using a binary component
(Jiri Pik, Oct 03, 2004, 09:03:43)
How can one attach a PDF file to an element?

  1. Create a binary component using the Compose toolbar
  2. Use Import File on the component menu to import the PDF file 

If you do not want SuperMemo to open the PDF file on each entry to the element, uncheck AutoPlay on the element menu

There is no PDF support in development plans
(Jens, supermemo Quito, 20.04.02)
Many documents these days, especially relevant to scientists, are PDF documents, and SuperMemo does not deal with those
SuperMemo will strive at maximum integration with the Internet content. Ultimately, the content should be defined as HTML/ XML. PDF format is proprietary and would add unmanageable complexity to software development at the cost of other functions and program's stability and reliability. In addition, PDF is burdened with the publishing industry point of view (fixed "page look"), and it does not separate content from style. SuperMemo will support non-HTML/XML formats and components (e.g. RTF, Script, OLE, etc.) as long as there are collections that make use of these components, and as long as there are learning functions that cannot be expressed otherwise (e.g. Mind Manager mindmaps). Otherwise, the target is a uniform format for SuperMemo along the Internet standards. For that reasons, the PDF format will not be supported. You can still store PDF files in SuperMemo using Binary component, OLE component or links in HTML components (see: You can use PDF files in learning)

Pictures cannot be pasted to rich text components
(MSmith, Nov 1, 2000)

Why can I not paste pictures into the rich text component?
You need to use HTML components instead. SuperMemo uses Microsoft's Rich Edit 1.0 control that does not support pictures (except via OLE)

RTF texts in SuperMemo behave like WordPad
(Walter G. Mayfield, Jr., Thursday, July 12, 2001 4:02 AM)
For some reason my text bullets are clock faces, is there a way to change this to regular bullets through the text registry?
Rich text components in SuperMemo are based on Windows Rich Edit control. This implies that their behavior should mirror that of Windows WordPad. Bullet customization must be happening outside SuperMemo. You can use File : Edit file on the component menu (Ctrl+F9) to edit your texts in your default word processor (e.g. WordPad or MS Word). You can also use File : View source (Shift+Ctrl+F6) to edit low-level rtf code (only for advanced users!)

RTF components do not support OLE
(Michael Smith, Canada, Tue, May 28, 2002 0:25)
Could I have an OLE object inside the RTF answer window (e.g. mathematical formula)?
No. RTF components do not support OLE. You could try using OLE component for the same purpose. For example, create a new MS Word document within the OLE component and paste the OLE formula. Important: Turn off Scaled on the element menu to improve performance of OLE components

You can convert RTF to HTML with most formatting retained
(subscribeme, May 09, 2005, 12:09:16)
It is possible to change an RTF component to HTML through applying an HTML template. There are two problems though: 
1. All line breaks are removed 
2. All Text formatting is removed
SuperMemo uses default Windows converter to upgrade RTF to HTML. This procedure should retain most formatting. If line breaks disappear, you might be using plain text components instead of RTF components. Plain texts are not converted in any way when loaded to HTML components (so that to make this operation reversible). You can still convert a formatted plain text component to a formatted HTML component by first applying an RTF template, modifying the text (this will convert plain text to RTF), and then applying HTML template (this will convert RTF to HTML). The conversion from RTF to HTML is irreversible, as RTF format is being slowly phased out