Set Typesetter's quality level to 6 (DV_QUALITY_HINT_FILTER_2), which is a high quality setting with a filter called Hint Filter #2.
This can be done at run-time by calling the dtTypesetterSetQuality function or during the initialization of D-Type Engine by setting up the C section of the main D-Type initialization file (dtype.inf by default) as shown below:
# C) PARAMETERS FOR D-TYPE FONT ENGINE # 1. Size of the bitmap cache in RAM, in bytes # (Must be greater than parameter B1 * B2) # # 2. Maximum number of bitmaps to store in the bitmap cache # # 3. Maximum number of transformations to store in the transformation cache # # 4. Bitmap cache compression: 0=Disable Compression, 1=Enable Compression # # 5. Quality: 0=Medium, 1=High, 2=Very High # 3=Dispersion Filter 1, 4=Dispersion Filter 2 # 5=Hint Filter 1, 6=Hint Filter 2, 7=Hint Filter 3, 8=Hint Filter 4 # 9=LCD_RGB_SUB_1, 10=LCD_RGB_INT_1, 11=LCD_BGR_SUB_1, 12=LCD_BGR_INT_1 # 13=LCD_RGB_SUB_2, 14=LCD_RGB_INT_2, 15=LCD_BGR_SUB_2, 16=LCD_BGR_INT_2 # 17=LCD_RGB_SUB_3, 18=LCD_RGB_INT_3, 19=LCD_BGR_SUB_3, 20=LCD_BGR_INT_3 # 21=LCD2_RGB_SUB_1, 22=LCD2_RGB_INT_1, 23=LCD2_BGR_SUB_1, 24=LCD2_BGR_INT_1 # 25=LCD2_RGB_SUB_2, 26=LCD2_RGB_INT_2, 27=LCD2_BGR_SUB_2, 28=LCD2_BGR_INT_2 # # 6. Glyph alignment method: 0=Old, 1=Reserved, 2=New, 514=New(2)+CJK(512) # # 7. Font size subscale for fractional sizing, both horizontal and vertical. # # Notes: # # * Larger cache means better performance but higher consumption of RAM. # # * Bitmap cache compression is extremely fast and effective. If enabled, bitmaps # will be stored in a compressed format and will consume 3-10 times less space # in the bitmap cache than non-compressed bitmaps. This is highly recommended when # the size of the bitmap cache is small (e.g. in memory constrained environments). { 2650000 8000 5000 1 6 514 1 }
For a more interesting and enjoyable reading experience, we suggest that you set your background to resemble the surface of a sheet of paper, as shown below. To do so, fill it with a very soft pattern fill (we suggest pattern fill 12 from pattern group 3 — see Pattern Fills) using the RGB color value FF F8 EE.
Background like a sheet of paper
Whenever possible, render to D-Type's Memory Surface (see dtOutputSetAsMDC). This will give you great speed and excellent alpha-blending capabilities.
Use only good quality fonts to render your text. Verdana (.ttf), Tahoma (.ttf), Century Gothic (.ttf), Lucida (.ttf), Palatino (.ttf), Utopia (.pfb), Helvetica (.pfb), Adobe Garamond Pro (.otf), HSans MM (.dtf) and similar high quality font are highly recommended. Verdana and Lucida, for example, are very legible sans-serif fonts that are ideal for screen reading. Ensure your fonts are added to the Font Catalog as hinted or auto-hinted. Auto-hinting will make even poorly hinted or non-hinted fonts look very nice as long as their outlines are well designed. In other words, great looking fonts do not have to be manually hinted at all (if used with D-Type Engine). However, their outlines and metrics must be well designed.
Set Typesetter's positioning mode to 13 (Enhanced Int X, Int Y) (").
If you are using D-Type Standard Engine, this can be done by calling the dtTypesetterSetPositioning function. If you are using D-Type Power Engine, this can be done by setting the pdPositioning property of the text object's Text Layout to 13 (Enhanced Int X, Int Y).
Set Typesetter's hinting mode to 0 (DV_HINTING_ENGINE_DEFAULT_A).
If you are using D-Type Standard Engine, this can be done by calling the dtTypesetterSetHinting function. If you are using D-Type Power Engine, this can be done by setting the pdHinting property of the text object's Text Layout to 0.
Draw text in device independent mode.
If you are using D-Type Standard Engine, this can be done by calling the dtxCharsDoOutput function and setting the kern_mode parameter to -1 ("). If you are using D-Type Power Engine, this can be done by setting the text object's pdDeviceMode property to 0 and setting the pdKerning property of the text object's Text Layout to 1.
If you have followed all of the above recommendations, your text should appear as in the following examples.
Lucida Sans rendered at the size of 10, 12 and 14 pixels.
Verdana rendered at the size of 10, 12 and 14 pixels.
Palatino rendered at the size of 10, 12 and 14 pixels.
Utopia rendered at the size of 10, 12 and 14 pixels.
Quality
Try also the following quality levels: 2 (DV_QUALITY_VERYHIGH), 5 (DV_QUALITY_HINT_FILTER_1), 7 (DV_QUALITY_HINT_FILTER_3), 8 (DV_QUALITY_HINT_FILTER_4) or one of the quality levels optimized for LCD screens (DV_QUALITY_LCD_...). See dtTypesetterSetQuality for details.
Custom Gray (Alpha) Values
Try a different gray-scale table: gssqrt2.gsl or gssqrt3.gsl for example. A custom gray-scale can be specified at run-time by calling the dtRasterizerSetGrayscale function or during the initialization of D-Type Engine by setting up the A section of the main D-Type initialization file appropriately. The "best" choice will depend highly on your monitor's gamma.