This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
guisys:making_new_fonts [2011-06-13 13:47] Carsten Added documentation for the Font Wizard |
guisys:making_new_fonts [2011-06-16 10:51] Carsten Small improvements / fixes |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== The Font Wizard: Creating new fonts ====== | ====== The Font Wizard: Creating new fonts ====== | ||
- | Creating new fonts for use with a GUI is very easy: | + | Preparing new fonts for rendering text within a GUI is very easy. |
+ | The key idea is to convert a font file (e.g. one of those installed with your OS, or downloaded from the Internet) to a set of graphics files that the Cafu GuiSys can use: | ||
{{ :fontwizard:fontwizard_0.png?|Open the Font Wizard}} Start CaWE and select the related menu item to open the Font Wizard. <clear> | {{ :fontwizard:fontwizard_0.png?|Open the Font Wizard}} Start CaWE and select the related menu item to open the Font Wizard. <clear> | ||
Line 7: | Line 8: | ||
{{ :fontwizard:fontwizard_1.png?|Step 1}} Step 1: The welcome page. <clear> | {{ :fontwizard:fontwizard_1.png?|Step 1}} Step 1: The welcome page. <clear> | ||
- | {{ :fontwizard:fontwizard_2.png?|Step 2}} Step 2: Click the ''...'' browse button to select the desired font, or enter the filename directly into the related field. <clear> | + | {{ :fontwizard:fontwizard_2.png?|Step 2}} Step 2: Click the "''...''" browse button to select the desired font, or enter the filename directly into the related field. |
+ | |||
+ | **Microsoft Windows** users, please note that for some versions of Windows, most notably **Windows 7**, Microsoft has chosen to special-case the related "File Open" dialog so that the system folder ''C:\Windows\Fonts'' cannot be browsed. (The problem is neither related to access rights nor is it specific to CaWE.) | ||
+ | |||
+ | In order to overcome the problem, i.e. if you want to use a system font from ''C:\Windows\Fonts'' with the Font Wizard, we recommend to either | ||
+ | * type the path and file name of the desired font manually into the input field, or | ||
+ | * at the command prompt copy the desired font files from ''C:\Windows\Fonts'' into any other directory, then use the "''...''" browse button to select the related file. <clear> | ||
{{ :fontwizard:fontwizard_3.png?|Step 3}} Step 3: Check the preview of the generated font texture. Optionally click the button to see a preview of all generated texture images.<clear> | {{ :fontwizard:fontwizard_3.png?|Step 3}} Step 3: Check the preview of the generated font texture. Optionally click the button to see a preview of all generated texture images.<clear> | ||
- | {{ :fontwizard:fontwizard_4.png?|Step 4}} Step 4: Enter the name under which you would like to save the font. A new directory is created with the given name and all files related to the font are put into this directory.<clear> | + | {{ :fontwizard:fontwizard_4.png?|Step 4}} Step 4: Enter the name under which you would like to save the font. A new directory is created with the given name and all files related to the font are saved into this directory.<clear> |
- | {{ :fontwizard:fontwizard_5.png?|Step 5}} Step 5: Use the indicated name to use the font in the GUI Editor or a GUI script.<clear> | + | {{ :fontwizard:fontwizard_5.png?|Step 5}} Step 5: Use the indicated name in the GUI Editor or a GUI script to activate the new font (see below for details).<clear> |
===== Creating fonts at the command prompt ===== | ===== Creating fonts at the command prompt ===== | ||
- | As an alternative to the above, fonts can also be created with the ''MakeFont'' programm at the command prompt: | + | As an alternative to the above, fonts can also be created with the ''MakeFont'' program at the command prompt. Here is the sequence of commands that creates the same font as above: |
- | As a first step, you should create or obtain a font file of your desired font. | + | <code dos> |
- | For example, http://www.fontasy.de/ has a library of thousands of free fonts, I'm sure that there are many other places where fonts can be found if you don't want to create your own from scratch. | + | d:\Dev\Cafu> cd Fonts |
+ | d:\Dev\Cafu\Fonts> mkdir Segoe | ||
+ | d:\Dev\Cafu\Fonts> cd Segoe | ||
+ | d:\Dev\Cafu\Fonts\Segoe>..\..\MakeFont.exe C:\Windows\Fonts\segoe.ttf -m=Segoe | ||
+ | The Cafu Font Maker, version July 01 2009. | ||
- | Then, please open the Windows command console, and ''cd'' into the proper directory of your copy of the Cafu SDK: | + | Portions of this software are copyright (c) 2006 The FreeType Project |
- | <code> | + | (www.freetype.org). All rights reserved. |
- | C:\>cd Cafu-9.06 | + | |
- | + | ||
- | C:\Cafu-9.06> | + | |
</code> | </code> | ||
+ | ''MakeFont'' takes two parameters: the name of the font file whose font you want to use with Cafu GUIs, and the base name of the font materials. The base name is specified as ''-m=<base_name>''. Although ''MakeFont'' will also work if you omit the ''-m=...'' part, your fonts will not work properly without it, so please make sure to include it. (The Cafu MatSys needs this option in order to be able to render the fonts properly.) | ||
- | Lets assume that we wanted to add the "Times" font for use with a GUI of our own. Just ''cd'' into the ''Fonts'' directory, create a new directory ''Times'' there, and ''cd'' into that, too: | ||
- | <code> | ||
- | C:\Cafu-9.06>cd Fonts | ||
- | C:\Cafu-9.06\Fonts>mkdir Times | + | ===== Using the newly created font ===== |
- | C:\Cafu-9.06\Fonts>dir | + | {{ :fontwizard:new_font_gui_editor.png?|Activate the new font in the GUI Editor}} Your font is now ready to be used in a GUI. Its name always begins with ''Fonts/'', followed by the previously chosen font name. In our example above, the font name is ''Fonts/Segoe''. |
- | Datenträger in Laufwerk C: ist Carsten | + | |
- | Datenträgernummer: BC03-5EAF | + | |
- | Verzeichnis von C:\Cafu-9.06\Fonts | + | In the GUI Editor, enter the font name into the appropriate field of the window that should use the font. |
- | 02.09.2006 13:09 <DIR> . | + | Alternatively, if you edit the GUI script manually, just add |
- | 02.09.2006 13:09 <DIR> .. | + | |
- | 02.09.2006 12:56 <DIR> Arial | + | |
- | 02.09.2006 12:56 <DIR> Impact | + | |
- | 02.09.2006 13:09 <DIR> Times | + | |
- | 08.03.2005 14:36 9.924 Arial.png | + | |
- | 15.03.2005 17:07 28.359 FixedWidth.png | + | |
- | 2 Datei(en) 38.283 Bytes | + | |
- | 5 Verzeichnis(se), 3.013.181.440 Bytes frei | + | |
- | + | ||
- | C:\Cafu-9.06\Fonts>cd Times | + | |
- | + | ||
- | C:\Cafu-9.06\Fonts\Times> | + | |
- | </code> | + | |
- | + | ||
- | Next let's run the ''MakeFont'' program: | + | |
- | <code> | + | |
- | C:\Cafu-9.06\Fonts\Times>..\..\MakeFont.exe C:\WINNT\Fonts\times.ttf -m=Times | + | |
- | The Cafu Font Maker, version July 01 2009. | + | |
- | + | ||
- | Portions of this software are copyright (c) 2006 The FreeType Project | + | |
- | (www.freetype.org). All rights reserved. | + | |
- | + | ||
- | + | ||
- | C:\Cafu-9.06\Fonts\Times> | + | |
- | </code> | + | |
- | As you can see, ''MakeFont'' takes two parameters: first the name of the font file whose font you want to use with Cafu GUIs, then the base name of the font materials. The base name is specified as ''-m=<base_name>''. Although ''MakeFont'' will also work if you omit the ''-m=...'' part, your fonts will not work properly without it, so please make sure to include it. (The Cafu MatSys needs this option in order to be able to render the fonts properly.) | + | |
- | + | ||
- | **Well, that's all! :-) Your font is ready to be used in a GUI.** In the associated script, just write | + | |
<code=lua> | <code=lua> | ||
- | self:set("font", "Fonts/Times"); | + | self:set("font", "Fonts/Segoe"); |
</code> | </code> | ||
- | in the appropriate ''OnInit()'' function of the GUI window that should use the new "Times" font. | + | to the appropriate ''OnInit()'' function to use the new font. |
- | + | ||
- | By the way: The name of the new font is always the name of its directory, using '/' slashes instead of '\'. | + | |