REBOL [ Title: "Font Lab" Date: 31-Mar-2001 Version: 1.1.1 File: %font-lab.r Author: "Carl Sassenrath" Purpose: "A tool for experimenting with fonts." Email: carl@rebol.com library: [ level: 'intermediate platform: none type: 'tool domain: [GUI] tested-under: none support: none license: none see-also: none ] ] change-styles: func [style start facet subfacet value /local v][ start: find style/pane start foreach f start [ f: in f facet if subfacet <> 'none [f: in get f subfacet] either block? value [ if not block? get f [set f either none? get f [copy []][reduce [get f]]] either v: find get f value [remove v][head insert get f value] ][set f value] ] show style ] chg: func ['facet 'subfacet value] [change-styles layo norm-start facet subfacet value] shad: does [chg font shadow sdir * to-integer sl2/data * 16] sdir: 1x1 sz: 180x40 sx2: sz/x / 2 layo: center-face layout [ style tgl toggle 60 style lab vtext bold backcolor rebolor space 0x5 across p: choice 180 "Sans-Serif Style" "Serif Style" "Fixed Width Style" [chg font name pick reduce [font-sans-serif font-serif font-fixed] index? p/data] return tgl "Bold" [chg font style [bold]] tgl "Italic" italic [chg font style [italic]] tgl "Lined" underline [chg font style [underline]] return tgl "Left" of 'tg1 [chg font align 'left] tgl "Center" of 'tg1 [chg font align 'center] tgl "Right" of 'tg1 [chg font align 'right] return tgl "Top" of 'tg2 [chg font valign 'top] tgl "Middle" of 'tg2 [chg font valign 'middle] tgl "Bottom" of 'tg2 [chg font valign 'bottom] return lab "Size:" 60x20 font [] sl: slider 120x20 [chg font size max 8 to-integer sl/data * 40] return lab "Space:" 60x20 font [] sl1: slider 120x20 [chg font space (1x0 * to-integer sl1/data * 20) - 5x0] return lab "Shadow:" 60x20 font [] sl2: slider 120x20 [shad] return lab "Shad Dir:" 60x20 arrow left [sdir: sdir * 0x1 + -1x0 shad] pad 6 arrow right [sdir: sdir * 0x1 + 1x0 shad] pad 6 arrow up [sdir: sdir * 1x0 + 0x-1 shad] pad 6 arrow down [sdir: sdir * 1x0 + 0x1 shad] pad 6 return button sx2 "Text Color" [chg font color request-color] button sx2 "Area Color" [chg color none request-color] return button sx2 "Help" [alert "Click the controls on the left to change text on the right."] button sx2 "Close" #"^Q" [quit] below at p/offset + (p/size * 1x0) + 10x0 norm-start: Title "Title" sz h1 "Heading 1" sz h2 "Heading 2" sz h3 "Heading 3" sz h4 "Heading 4" sz h5 "Heading 5" sz at norm-start/offset + (norm-start/size * 1x0) + 10x0 banner "Banner" sz vh1 "Video Heading 1" sz vh2 "Video Heading 2" sz vh3 "Video Heading 3" sz vtext "Video Text" sz text "Document Text" sz ] sl1/data: .5 sl2/data: .5 chg color none silver - 0.0.10 view/title layo reform ["Font Lab" system/script/header/version]