Deprecated: Optional parameter $prefix declared before required parameter $code is implicitly treated as a required parameter in /home/bypasslabel/sound.bai-hua.org/languages/Language.php on line 4359

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::open($save_path, $session_name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/PHPSessionHandler.php on line 199

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/PHPSessionHandler.php on line 214

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::read($id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/PHPSessionHandler.php on line 228

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::write($id, $dataStr) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/PHPSessionHandler.php on line 256

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::destroy($id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/PHPSessionHandler.php on line 362

Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/PHPSessionHandler.php on line 383

Deprecated: Return type of Wikimedia\Rdbms\IResultWrapper::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php on line 70

Deprecated: Return type of Wikimedia\Rdbms\IResultWrapper::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php on line 80

Deprecated: Return type of Wikimedia\Rdbms\IResultWrapper::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/libs/rdbms/database/resultwrapper/IResultWrapper.php on line 75

Deprecated: Return type of Wikimedia\Rdbms\ResultWrapper::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php on line 117

Deprecated: Return type of Wikimedia\Rdbms\ResultWrapper::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/libs/rdbms/database/resultwrapper/ResultWrapper.php on line 90

Deprecated: Return type of MediaWiki\Session\Session::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 624

Deprecated: Return type of MediaWiki\Session\Session::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 629

Deprecated: Return type of MediaWiki\Session\Session::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 639

Deprecated: Return type of MediaWiki\Session\Session::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 634

Deprecated: Return type of MediaWiki\Session\Session::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 649

Deprecated: Return type of MediaWiki\Session\Session::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 644

Deprecated: Return type of MediaWiki\Session\Session::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 658

Deprecated: Return type of & MediaWiki\Session\Session::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 670

Deprecated: Return type of MediaWiki\Session\Session::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 679

Deprecated: Return type of MediaWiki\Session\Session::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bypasslabel/sound.bai-hua.org/includes/session/Session.php on line 683

Deprecated: Optional parameter $style declared before required parameter $ts is implicitly treated as a required parameter in /home/bypasslabel/sound.bai-hua.org/vendor/wikimedia/timestamp/src/ConvertibleTimestamp.php on line 176

Deprecated: Optional parameter $args declared before required parameter $parser is implicitly treated as a required parameter in /home/bypasslabel/sound.bai-hua.org/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.class.php on line 108

Warning: Private methods cannot be final as they are never overridden by other classes in /home/bypasslabel/sound.bai-hua.org/includes/actions/Action.php on line 67

Deprecated: Optional parameter $type declared before required parameter $format is implicitly treated as a required parameter in /home/bypasslabel/sound.bai-hua.org/includes/Message.php on line 1125

Deprecated: Message implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/bypasslabel/sound.bai-hua.org/includes/Message.php on line 159

Deprecated: RawMessage implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/bypasslabel/sound.bai-hua.org/includes/Message.php on line 1361

Deprecated: Optional parameter $text declared before required parameter $classes is implicitly treated as a required parameter in /home/bypasslabel/sound.bai-hua.org/includes/linker/LinkRenderer.php on line 248

Deprecated: Optional parameter $label declared before required parameter $alt is implicitly treated as a required parameter in /home/bypasslabel/sound.bai-hua.org/includes/Linker.php on line 502
https://sound.bai-hua.org/index.php?title=Making_TrueType_bitmap_fonts&feed=atom&action=history Making TrueType bitmap fonts - Revision history 2024-03-29T09:44:58Z Revision history for this page on the wiki MediaWiki 1.29.0
Deprecated: Optional parameter $attribs declared before required parameter $contents is implicitly treated as a required parameter in /home/bypasslabel/sound.bai-hua.org/includes/Xml.php on line 131
https://sound.bai-hua.org/index.php?title=Making_TrueType_bitmap_fonts&diff=178&oldid=prev Admin at 07:56, 8 February 2011 2011-02-08T07:56:34Z <p></p> <table class="diff diff-contentalign-left" data-mw="interface"> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;' lang='en'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 07:56, 8 February 2011</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l17" >Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>After all the glyphs are on advance widths that will match the bitmaps:</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>After all the glyphs are on advance widths that will match the bitmaps:</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Use Mac Fontographer and import bitmaps for the correct Windows point sizes. A Mac 10 point bitmap is not the same image as a Windows 10 point image. You need to create a Mac 11point (or 11ppem in a .ttf) that would be equivalent to a VGA 8 point image. (formula for point size to ppem is &quot;ptsize*resolution/72=ppem&quot;) Windows is either at 96dpi or 120dpi. &lt;br&gt;On a Macintosh the pixel per em value is all ways equal to the point size.&lt;br&gt;&lt;br&gt;8 point image is: VGA(96dpi) is 11ppem SVGA(120dpi) is 13ppem&lt;br /&gt; 10 point image is VGA(96dpi) is 13ppem SVGA(120dpi) is 17ppem&lt;br /&gt; 12 point image is VGA(96dpi) is 16ppem SVGA(120dpi) is 20ppem&lt;br /&gt; 14 point image is VGA(96dpi) is 19ppem SVGA(120dpi) is 23ppem&lt;br /&gt;To support both possible resolutions that Windows runs on you would need to make: 11,13,16,17,19,20,23 for 8,10,12,and 14 point display.The unknown or variable resolution of PC monitors makes this a difficult task. This is the reason scalable type is the better solution. The Macintosh is always the same resolution and only one image per point size is necessary.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Use Mac Fontographer and import bitmaps for the correct Windows point sizes. A Mac 10 point bitmap is not the same image as a Windows 10 point image. You need to create a Mac 11point (or 11ppem in a .ttf) that would be equivalent to a VGA 8 point image. (formula for point size to ppem is &quot;ptsize*resolution/72=ppem&quot;) Windows is either at 96dpi or 120dpi. &lt;br&gt;On a Macintosh the pixel per em value is all ways equal to the point size.&lt;br&gt;&lt;br&gt;8 point image is: VGA(96dpi) is 11ppem SVGA(120dpi) is 13ppem&lt;br /&gt; 10 point image is VGA(96dpi) is 13ppem SVGA(120dpi) is 17ppem&lt;br /&gt; 12 point image is VGA(96dpi) is 16ppem SVGA(120dpi) is 20ppem&lt;br /&gt; 14 point image is VGA(96dpi) is 19ppem SVGA(120dpi) is 23ppem&lt;br /<ins class="diffchange diffchange-inline">&gt;&lt;br</ins>&gt;To support both possible resolutions that Windows runs on you would need to make: 11,13,16,17,19,20,23 for 8,10,12,and 14 point display.The unknown or variable resolution of PC monitors makes this a difficult task. This is the reason scalable type is the better solution. The Macintosh is always the same resolution and only one image per point size is necessary.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* When all bitmaps are made for all resolutions needed and the &#039;outlines&#039; are ready the next step can be started.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* When all bitmaps are made for all resolutions needed and the &#039;outlines&#039; are ready the next step can be started.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Generate a .ttf file for PC with Fontographer.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Generate a .ttf file for PC with Fontographer.</div></td></tr> </table> Admin https://sound.bai-hua.org/index.php?title=Making_TrueType_bitmap_fonts&diff=177&oldid=prev Admin at 07:56, 8 February 2011 2011-02-08T07:56:01Z <p></p> <table class="diff diff-contentalign-left" data-mw="interface"> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;' lang='en'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 07:56, 8 February 2011</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l17" >Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>After all the glyphs are on advance widths that will match the bitmaps:</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>After all the glyphs are on advance widths that will match the bitmaps:</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Use Mac Fontographer and import bitmaps for the correct Windows point sizes. A Mac 10 point bitmap is not the same image as a Windows 10 point image. You need to create a Mac 11point (or 11ppem in a .ttf) that would be equivalent to a VGA 8 point image. (formula for point size to ppem is &quot;ptsize*resolution/72=ppem&quot;) Windows is either at 96dpi or 120dpi. &#160;</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Use Mac Fontographer and import bitmaps for the correct Windows point sizes. A Mac 10 point bitmap is not the same image as a Windows 10 point image. You need to create a Mac 11point (or 11ppem in a .ttf) that would be equivalent to a VGA 8 point image. (formula for point size to ppem is &quot;ptsize*resolution/72=ppem&quot;) Windows is either at 96dpi or 120dpi. <ins class="diffchange diffchange-inline">&lt;br&gt;</ins>On a Macintosh the pixel per em value is all ways equal to the point size.<ins class="diffchange diffchange-inline">&lt;br&gt;&lt;br&gt;</ins>8 point image is: VGA(96dpi) is 11ppem SVGA(120dpi) is 13ppem&lt;br /&gt; 10 point image is VGA(96dpi) is 13ppem SVGA(120dpi) is 17ppem&lt;br /&gt; 12 point image is VGA(96dpi) is 16ppem SVGA(120dpi) is 20ppem&lt;br /&gt; 14 point image is VGA(96dpi) is 19ppem SVGA(120dpi) is 23ppem&lt;br /&gt;To support both possible resolutions that Windows runs on you would need to make: 11,13,16,17,19,20,23 for 8,10,12,and 14 point display.The unknown or variable resolution of PC monitors makes this a difficult task. This is the reason scalable type is the better solution. The Macintosh is always the same resolution and only one image per point size is necessary.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&#160;</div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>On a Macintosh the pixel per em value is all ways equal to the point size.</div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&#160;</div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>8 point image is: VGA(96dpi) is 11ppem SVGA(120dpi) is 13ppem&lt;br /&gt; 10 point image is VGA(96dpi) is 13ppem SVGA(120dpi) is 17ppem&lt;br /&gt; 12 point image is VGA(96dpi) is 16ppem SVGA(120dpi) is 20ppem&lt;br /&gt; 14 point image is VGA(96dpi) is 19ppem SVGA(120dpi) is 23ppem&lt;br /&gt;To support both possible resolutions that Windows runs on you would need to make: 11,13,16,17,19,20,23 for 8,10,12,and 14 point display.The unknown or variable resolution of PC monitors makes this a difficult task. This is the reason scalable type is the better solution. The Macintosh is always the same resolution and only one image per point size is necessary.</div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* When all bitmaps are made for all resolutions needed and the &#039;outlines&#039; are ready the next step can be started.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* When all bitmaps are made for all resolutions needed and the &#039;outlines&#039; are ready the next step can be started.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Generate a .ttf file for PC with Fontographer.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Generate a .ttf file for PC with Fontographer.</div></td></tr> </table> Admin https://sound.bai-hua.org/index.php?title=Making_TrueType_bitmap_fonts&diff=176&oldid=prev Admin at 07:55, 8 February 2011 2011-02-08T07:55:29Z <p></p> <table class="diff diff-contentalign-left" data-mw="interface"> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;' lang='en'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 07:55, 8 February 2011</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l17" >Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>After all the glyphs are on advance widths that will match the bitmaps:</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>After all the glyphs are on advance widths that will match the bitmaps:</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Use Mac Fontographer and import bitmaps for the correct Windows point sizes. A Mac 10 point bitmap is not the same image as a Windows 10 point image. You need to create a Mac 11point (or 11ppem in a .ttf) that would be equivalent to a VGA 8 point image. (formula for point size to ppem is &quot;ptsize*resolution/72=ppem&quot;) Windows is either at 96dpi or 120dpi. On a Macintosh the pixel per em value is all ways equal to the point size.8 point image is: VGA(96dpi) is 11ppem SVGA(120dpi) is 13ppem&lt;br /&gt; 10 point image is VGA(96dpi) is 13ppem SVGA(120dpi) is 17ppem&lt;br /&gt; 12 point image is VGA(96dpi) is 16ppem SVGA(120dpi) is 20ppem&lt;br /&gt; 14 point image is VGA(96dpi) is 19ppem SVGA(120dpi) is 23ppem&lt;br /&gt;To support both possible resolutions that Windows runs on you would need to make: 11,13,16,17,19,20,23 for 8,10,12,and 14 point display.The unknown or variable resolution of PC monitors makes this a difficult task. This is the reason scalable type is the better solution. The Macintosh is always the same resolution and only one image per point size is necessary.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Use Mac Fontographer and import bitmaps for the correct Windows point sizes. A Mac 10 point bitmap is not the same image as a Windows 10 point image. You need to create a Mac 11point (or 11ppem in a .ttf) that would be equivalent to a VGA 8 point image. (formula for point size to ppem is &quot;ptsize*resolution/72=ppem&quot;) Windows is either at 96dpi or 120dpi. &#160;</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&#160;</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>On a Macintosh the pixel per em value is all ways equal to the point size.</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&#160;</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>8 point image is: VGA(96dpi) is 11ppem SVGA(120dpi) is 13ppem&lt;br /&gt; 10 point image is VGA(96dpi) is 13ppem SVGA(120dpi) is 17ppem&lt;br /&gt; 12 point image is VGA(96dpi) is 16ppem SVGA(120dpi) is 20ppem&lt;br /&gt; 14 point image is VGA(96dpi) is 19ppem SVGA(120dpi) is 23ppem&lt;br /&gt;To support both possible resolutions that Windows runs on you would need to make: 11,13,16,17,19,20,23 for 8,10,12,and 14 point display.The unknown or variable resolution of PC monitors makes this a difficult task. This is the reason scalable type is the better solution. The Macintosh is always the same resolution and only one image per point size is necessary.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* When all bitmaps are made for all resolutions needed and the &#039;outlines&#039; are ready the next step can be started.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* When all bitmaps are made for all resolutions needed and the &#039;outlines&#039; are ready the next step can be started.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Generate a .ttf file for PC with Fontographer.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>* Generate a .ttf file for PC with Fontographer.</div></td></tr> </table> Admin https://sound.bai-hua.org/index.php?title=Making_TrueType_bitmap_fonts&diff=175&oldid=prev Admin: Created page with "<br />''Contributed by Vincent Connare, Microsoft Typography.'' This document outlines the steps required to make a TrueType font that only includes bitmap data. <br />'''The p..." 2011-02-08T07:53:50Z <p>Created page with &quot;&lt;br /&gt;&#039;&#039;Contributed by Vincent Connare, Microsoft Typography.&#039;&#039; This document outlines the steps required to make a TrueType font that only includes bitmap data. &lt;br /&gt;&#039;&#039;&#039;The p...&quot;</p> <p><b>New page</b></p><div>&lt;br /&gt;&#039;&#039;Contributed by Vincent Connare, Microsoft Typography.&#039;&#039;<br /> <br /> This document outlines the steps required to make a TrueType font that only includes bitmap data.<br /> <br /> &lt;br /&gt;&#039;&#039;&#039;The process&#039;&#039;&#039;<br /> <br /> The advance widths of the glyphs, that the bitmaps will reside in, should scale to ~ the same advance width as the bitmaps. The reason this is a requirement is that text engines use outline metrics to do page layout. Once the bitmap is laid down, the text engine needs to redraw the window when changes are made and uses these metrics to calculate where to put the bits. If these numbers are off then the cursor will be in illogical positions and odd displays happen.<br /> <br /> I created an outline font with one glyph (a bullet) and made glyphs for all my bitmaps in the .ttf.<br /> <br /> I made composites of the bullet to the glyphs.<br /> <br /> I did not have an outline font for this bitmap. So I had to calculate the metrics for the 2048 units per em Advance widths. To do this you divide 2048 by the ppem size then multiple by the bitmaps advance width.<br /> <br /> Example if at 13ppem the lower case &#039;a&#039; is 7pixels width then 2048/13=157.53 157.53*7=1102.7 so an advance width of 1103 would be 7pixels wide at 13ppem. For multiple sizes if the font scales logically and linearly there should be no problem with finding an advance width that creates the correct pixel widths at the sizes. If the bitmaps don&#039;t scale linearly then you need to do an average and find the best width.<br /> <br /> After all the glyphs are on advance widths that will match the bitmaps:<br /> <br /> * Use Mac Fontographer and import bitmaps for the correct Windows point sizes. A Mac 10 point bitmap is not the same image as a Windows 10 point image. You need to create a Mac 11point (or 11ppem in a .ttf) that would be equivalent to a VGA 8 point image. (formula for point size to ppem is &quot;ptsize*resolution/72=ppem&quot;) Windows is either at 96dpi or 120dpi. On a Macintosh the pixel per em value is all ways equal to the point size.8 point image is: VGA(96dpi) is 11ppem SVGA(120dpi) is 13ppem&lt;br /&gt; 10 point image is VGA(96dpi) is 13ppem SVGA(120dpi) is 17ppem&lt;br /&gt; 12 point image is VGA(96dpi) is 16ppem SVGA(120dpi) is 20ppem&lt;br /&gt; 14 point image is VGA(96dpi) is 19ppem SVGA(120dpi) is 23ppem&lt;br /&gt;To support both possible resolutions that Windows runs on you would need to make: 11,13,16,17,19,20,23 for 8,10,12,and 14 point display.The unknown or variable resolution of PC monitors makes this a difficult task. This is the reason scalable type is the better solution. The Macintosh is always the same resolution and only one image per point size is necessary.<br /> * When all bitmaps are made for all resolutions needed and the &#039;outlines&#039; are ready the next step can be started.<br /> * Generate a .ttf file for PC with Fontographer.<br /> * Generate a .bdf bitmap format (Macintosh encoding, this creates a proper .bdf)<br /> * Copy both the .bdf file and .ttf file to a PC disk and copy onto Win95.<br /> * Using the NotePad in Windows edit the text .bdf file. Remove entries for the &#039;space&#039; or any other entries that do not have an image. the space causes problems and the .ttf space glyph is used anyway.<br /> * Using sbit32.exe a Windows Console tool you can import this .bdf file into the .ttf file<br /> <br /> With embedded bitmaps, the vertical metrics are also obtained from the .tff. In a .ttf the values in the &#039;OS/2&#039; table WinAscent and WinDescent control the vertical font heights.<br /> <br /> If the metrics are not set properly (as they were with my test font output through Mac fog) then the newest TrueEdit (Mac) can edit these values. They should be calculated from the tallest and lowest characters of the set in either the outlines or the bitmaps. In my case I have only bitmaps so I need to use the largest bitmap size and use the same calculation as doing horizontal escapements.<br /> <br /> If the metrics are short the bitmaps get clipped. This was the case when I used a bullet as my outline glyph in all characters.<br /> <br /> This font should appear without fail in the menus of all apps and show bullets when a bitmaps is not present or bitmaps at sizes that there are images for. It will print bullets. &lt;font size=&quot;1&quot; face=&quot;Verdana, Arial, Helvetica&quot;&gt;&lt;/font&gt;<br /> <br /> &lt;font size=&quot;1&quot; face=&quot;Verdana, Arial, Helvetica&quot;&gt;&lt;br /&gt;&lt;br /&gt; this page was last updated 6 April 1998&lt;br /&gt; � 1998 Microsoft Corporation. All rights reserved. [/info/cpyright.htm Terms of use].&lt;br /&gt; comments to the MST group: [/typography/AboutMST.mspx how to contact us] &lt;/font&gt;</div> Admin