home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / help / a092_1 / !HelpGen_Text_!DemoApp_MakeHelp_Text < prev    next >
Encoding:
Text File  |  1991-02-26  |  4.7 KB  |  98 lines

  1. @#introduction
  2. Getting the best from the Acorn Outline Font Manager
  3. ====================================================
  4.  
  5. @%drawing#Drawing characters
  6. @%configure#Configuration commands
  7. @%notes#Miscellaneous Notes
  8.  
  9. This document describes some aspects of RISC OS' new Outline Font Manager,
  10. and contains some hints as to how to get the best from it. The font manager
  11. is a complex piece of software which must sometimes make delicate tradeoffs
  12. between speed, space, and font quality. Getting this completely optimal
  13. involves reading the user's mind and predicting the future, both of which
  14. most computers still find a little tricky.
  15.  
  16. The fonts controlled by the Font Manager live in files in some filing
  17. system, usually inside a directory called !Fonts. Although it can still read
  18. the font files used in the old Font Manager, the recommended form in which
  19. they now exist defines each character by its *outline*. This can then be
  20. scaled to any desired size, when rendering the character on a printer or on
  21. the screen.
  22.  
  23. @#drawing
  24. Two sophisticated tricks are used to improve the quality of the rendered
  25. fonts, and one sophisticated trick to improve the speed of the overall
  26. system.
  27.  
  28. The first is called *anti-aliasing*: rather than just rendering the
  29. characters using black and white pixels, grey pixels are also used to make
  30. curves look smoother, and to provide a better approximation to the desired
  31. image when few pixels are available. This results in an astonishing jump in
  32. quality when few pixels are available, such as on the screen. The old Arthur
  33. 1.20 Font Manager also used this.
  34.  
  35. The second is called *hinting*. This means subtly altering the outline of
  36. the character being rendered in ways that depend on the target pixel grid.
  37. This allows properties concerning the symmetry of the character to be
  38. accurately preserved when the character is arbitrarily scaled. This is
  39. particularly useful when grey pixels are not available (such as on most
  40. printers). This is the major innovation of the new Outline Font Manager,
  41. previously such algorithms have only been in general use inside expensive
  42. PostScript printers. Acorn's implementation of this is so effective that
  43. many people find hinted character quality on the screen perfectly acceptable
  44. even without anti-alasing.
  45.  
  46. The performance trick is called *cacheing*. Unfortunately, loading a
  47. character's outline from a file and computing a bitmap from it (using
  48. hinting and/or anti-aliasing) takes time. In order to get round this, such
  49. bitmaps are retained in the font manager when they have been computed, in
  50. case they are needed again. This is where predicting the future comes in: of
  51. the many hundreds and thousands of characters and sizes that the font
  52. manager must cache (e.g. retain), which ones are worth keeping? All that the
  53. Font Manager can do is to keep as many as it has space for, discarding ones
  54. that have not been used for some time.
  55.  
  56. As the user of this system you can provide input to this process in the
  57. following way (this is where the Font Manager's inability at mind-reading is
  58. annoying).
  59.  
  60. First, only you can decide how much memory the Font Manager may use for
  61. cacheing, and how much you need for other things. This is done by setting
  62. the Font cache size in the Task Window, or via *Configure FontSize (the
  63. latter will set the power-on default value).
  64.  
  65. You can also spend disc memory to main certain operations faster. It's
  66. possible to save extra files inside !Fonts that contain prescaled,
  67. anti-aliased files
  68.  
  69. Second, only you can decide how important character quality is to you, and
  70. how much time and memory you are prepared to spend on the quality of the
  71. results you see on the screen. Different people have different perceptions
  72. of "quality" too.
  73.  
  74. @#configure
  75. You can control this using several new *Configure commands, as follows. If
  76. you do not touch these values then you will find that reasonable defaults
  77. are set up.
  78.  
  79. *Configure FontMax2
  80. This sets the maximum size of anti-aliased characters, in pixels. If a
  81. character is larger than this value then anti-aliasing will not be used.
  82. Anti-aliasing quadruples the size of retained bitmaps in the cache, and
  83. slows down conversion from outlines too. Set this to 0 to turn anti-aliasing
  84. off entirely.
  85.  
  86. *Configure FontMax3
  87. This sets of the maximum size of any form of retained bitmap. If a character
  88. to be drawn is larger than this then the outline will be drawn directly to
  89. the screen (or printer) with no cacheing happening at all. This is so that
  90. document headings, etc., where a few larger characters appear, do not flush
  91. everything else out of the font cache.
  92.  
  93. The value is set in pixels (rather than points) because it is the pixel size
  94. that affects cache usage. This corresponds to different point sizes on the
  95. screen and on the printer.
  96.  
  97. *Configure FontMax4
  98. If this is non-zero then *leulaGeout