File: listFonts.st

package info (click to toggle)
steptalk 0.10.0%2Bgit20200629-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,732 kB
  • sloc: objc: 12,182; yacc: 400; makefile: 40; sh: 34; csh: 4; awk: 3; lisp: 3
file content (52 lines) | stat: -rw-r--r-- 867 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
" listFonts.st

    Example that will create a 'rtf file containing smaples of all available 
    fonts.

"

[| :text

main

    | fontManager |

    Environment loadModule:'AppKit'.

    text := NSTextView alloc initWithFrame:NSNullRect.
    text setRichText:YES.

    fontManager := NSFontManager sharedFontManager.

    (fontManager availableFontFamilies) 
    do: [ :font |
        self addFontSample:font
    ].

    text writeRTFDToFile:'Fonts.rtf' atomically:YES.

    ^nil
!    

addFontSample:fontName
    
    | attr font |

    Transcript showLine:fontName.

    attr := NSMutableDictionary dictionary.
    font := (NSFont fontWithName:fontName size:36).
    
    (font isNil) ifFalse:
    [
    attr setObject:font
    
             forKey:NSFontAttributeName.

    text setTypingAttributes:attr.
    text insertText:(fontName,'\n').
    ].
    ^self


]