[xorg-commit-diffs] xc/programs/xstshowfont Imakefile, NONE, 1.1.4.1 Xstshowfont.ad, NONE, 1.1.4.1 messages.po, NONE, 1.1.4.1 xstshowfont.c, NONE, 1.1.4.1 xstshowfont.h, NONE, 1.1.4.1 xstshowfont.man, NONE, 1.1.4.1 xstshowfont.res, NONE, 1.1.4.1 xstshowfont_cb.c, NONE, 1.1.4.1 xstshowfont_color.c, NONE, 1.1.4.1 xstshowfont_fp.h, NONE, 1.1.4.1 xstshowfont_funcs.c, NONE, 1.1.4.1 xstshowfont_funcs.h, NONE, 1.1.4.1 xstshowfont_main.c, NONE, 1.1.4.1 xstshowfont_tags.h, NONE, 1.1.4.1 xstshowfont_text.c, NONE, 1.1.4.1 xstshowfont_xpm.h, NONE, 1.1.4.1

Alexander Gelfenbain xorg-commit at pdx.freedesktop.org
Mon Apr 5 19:41:24 PDT 2004


Committed by: adg

Update of /cvs/xorg/xc/programs/xstshowfont
In directory pdx:/tmp/cvs-serv16834/programs/xstshowfont

Added Files:
      Tag: XORG-RELEASE-1-STSF
	Imakefile Xstshowfont.ad messages.po xstshowfont.c 
	xstshowfont.h xstshowfont.man xstshowfont.res xstshowfont_cb.c 
	xstshowfont_color.c xstshowfont_fp.h xstshowfont_funcs.c 
	xstshowfont_funcs.h xstshowfont_main.c xstshowfont_tags.h 
	xstshowfont_text.c xstshowfont_xpm.h 
Log Message:
Initial import of XST into the XORG-RELEASE-1-STSF branch

--- NEW FILE: Imakefile ---
XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:54:52 cpqbld Exp $



XCOMM $XFree86: xc/programs/xstshowfont/Imakefile,v 1.5tsi Exp $

        DEPLIBS = XstClientDepLibs
LOCAL_LIBRARIES = -lXext -lX11 -lXt -lSM -lICE -lXm -lXpm -lXp -L../../lib/Xst -lXst XstClientLibs
           SRCS = xstshowfont.c xstshowfont_cb.c xstshowfont_color.c xstshowfont_funcs.c xstshowfont_main.c xstshowfont_text.c
           OBJS = xstshowfont.o xstshowfont_cb.o xstshowfont_color.o xstshowfont_funcs.o xstshowfont_main.o xstshowfont_text.o
        HEADERS = xstshowfont.h xstshowfont_fp.h xstshowfont_funcs.h xstshowfont_tags.h xstshowfont_xpm.h
       INCLUDES = 
        DEFINES = 
    CDEBUGFLAGS = -g

ComplexProgramTarget(xstshowfont)
InstallAppDefaults(Xstshowfont)

--- NEW FILE: Xstshowfont.ad ---
! Generated by WorkShop Visual


! XstfontShowTextShell
Xshowfont*XstfontShowTextShell.title: Change Text

! XstfontShowTextForm

! XstfontShowTextText

! button48
Xshowfont*button48.labelString: Apply

! button49
Xshowfont*button49.labelString: Cancel


! XstfontShowColorShell
Xshowfont*XstfontShowColorShell.title: Set Color

! XstfontShowColorForm
Xshowfont*optionMenu4.labelString: Color:

! label28

! button42
Xshowfont*button42.labelString: Text

! button43
Xshowfont*button43.labelString: Highlighted Text

! button44
Xshowfont*button44.labelString: Highlight Background

! button45
Xshowfont*button45.labelString: Strike Through

! button46
Xshowfont*button46.labelString: Highlight Strike Through

! button50
Xshowfont*button50.labelString: Underline 1

! button51
Xshowfont*button51.labelString: Highlight Underline 1

! button52
Xshowfont*button52.labelString: Underline 2

! button53
Xshowfont*button53.labelString: Highlight Underline 2

! frame8

! XstfontShowColorRed

! XstfontShowColorGreen

! XstfontShowColorBlue

! label29
Xshowfont*label29.labelString: Red:

! label30
Xshowfont*label30.labelString: Green:

! label31
Xshowfont*label31.labelString: Blue:

! button40
Xshowfont*button40.labelString: Apply

! button41
Xshowfont*button41.labelString: Cancel


! XstfontShowErrorShell
Xshowfont*XstfontShowErrorShell.title: XST Error

! XstfontShowErrorMB

! label18
Xshowfont*MessageLabel.labelString: The XServer is not XST enabled.\nThis application cannot function\nproperly. Please use an XServer\nwith the XST extension.


! XstfontShowAboutShell
Xshowfont*XstfontShowAboutShell.title: About XST Font Show

! XstfontShowAboutMB

! label16
Xshowfont*MessageLabel.labelString: XST Font Show  \nX.Org 10/24/2001\n\nThis utility displays fonts and\nallows users to change styles,\nmatrices, and features.\n\nThis application must be run\nwith an XST enabled Xserver,\nor no fonts or features will\nbe available. 


! XstfontShowMainShell
Xshowfont.title: XST Font Show

! form1

! menuBar1

! cascade1
Xshowfont*cascade1.labelString: File
Xshowfont*cascade1.mnemonic: F

! toggle1
Xshowfont*toggle1.labelString: Quick Buttons
Xshowfont*toggle1.mnemonic: Q
Xshowfont*toggle1.accelerator: Ctrl<Key>Q
Xshowfont*toggle1.acceleratorText: Ctrl+Q

! toggle2
Xshowfont*toggle2.labelString: Draw Bounds
Xshowfont*toggle2.mnemonic: D
Xshowfont*toggle2.accelerator: Ctrl<Key>D
Xshowfont*toggle2.acceleratorText: Ctrl+D

! toggle8
Xshowfont*toggle8.labelString: Waterfall
Xshowfont*toggle8.mnemonic: W
Xshowfont*toggle8.accelerator: Ctrl<Key>W
Xshowfont*toggle8.acceleratorText: Ctrl+W

! button39
Xshowfont*button39.labelString: Colors ...
Xshowfont*button39.mnemonic: C
Xshowfont*button39.accelerator: Ctrl<Key>C
Xshowfont*button39.acceleratorText: Ctrl+C

! button47
Xshowfont*button47.labelString: Text ...

! button1
Xshowfont*button1.labelString: Exit
Xshowfont*button1.mnemonic: E
Xshowfont*button1.accelerator: Ctrl<Key>E
Xshowfont*button1.acceleratorText: Ctrl+E

! cascade3
Xshowfont*cascade3.labelString: Font
Xshowfont*cascade3.mnemonic: o

! XstfontShowFontMenu

! button3
Xshowfont*button3.labelString: Previous Font
Xshowfont*button3.accelerator: Ctrl<Key>P

! button38
Xshowfont*button38.labelString: Next Font
Xshowfont*button38.accelerator: Ctrl<Key>N

! cascade12
Xshowfont*cascade12.labelString: Features
Xshowfont*cascade12.mnemonic: e

! FE1TB
Xshowfont*FE1TB.labelString: Suppress Kerning
Xshowfont*FE1TB.mnemonic: K
Xshowfont*FE1TB.accelerator: Ctrl<Key>K
Xshowfont*FE1TB.acceleratorText: Ctrl+K

! FE2TB
Xshowfont*FE2TB.labelString: Suppress Cross Kerning
Xshowfont*FE2TB.mnemonic: S
Xshowfont*FE2TB.accelerator: Ctrl<Key>S
Xshowfont*FE2TB.acceleratorText: Ctrl+S

! FE3TB
Xshowfont*FE3TB.labelString: Suppress Fractional Metrics
Xshowfont*FE3TB.mnemonic: r
Xshowfont*FE3TB.accelerator: Ctrl<Key>R
Xshowfont*FE3TB.acceleratorText: Ctrl+R

! FE4TB
Xshowfont*FE4TB.labelString: Suppress Fraction Deltas

! cascade13
Xshowfont*cascade13.labelString: Style
Xshowfont*cascade13.mnemonic: S

! toggle3
Xshowfont*toggle3.labelString: Embolden
Xshowfont*toggle3.mnemonic: o
Xshowfont*toggle3.accelerator: Ctrl<Key>O
Xshowfont*toggle3.acceleratorText: Ctrl+O

! toggle4
Xshowfont*toggle4.labelString: Italicize
Xshowfont*toggle4.mnemonic: I
Xshowfont*toggle4.accelerator: Ctrl<Key>I
Xshowfont*toggle4.acceleratorText: Ctrl+I

! toggle5
Xshowfont*toggle5.labelString: Condense

! toggle6
Xshowfont*toggle6.labelString: Expand

! XstfontShowFweSep

! XstfontShowFwe1TB
Xshowfont*XstfontShowFwe1TB.labelString: Thin

! XstfontShowFwe2TB
Xshowfont*XstfontShowFwe2TB.labelString: Extra Light

! XstfontShowFwe3TB
Xshowfont*XstfontShowFwe3TB.labelString: Light
Xshowfont*XstfontShowFwe3TB.mnemonic: h

! XstfontShowFwe4TB
Xshowfont*XstfontShowFwe4TB.labelString: Normal
Xshowfont*XstfontShowFwe4TB.mnemonic: N

! XstfontShowFwe5TB
Xshowfont*XstfontShowFwe5TB.labelString: Medium
Xshowfont*XstfontShowFwe5TB.mnemonic: M

! XstfontShowFwe6TB
Xshowfont*XstfontShowFwe6TB.labelString: Semi Bold
Xshowfont*XstfontShowFwe6TB.mnemonic: S

! XstfontShowFwe7TB
Xshowfont*XstfontShowFwe7TB.labelString: Bold
Xshowfont*XstfontShowFwe7TB.mnemonic: B

! XstfontShowFwe8TB
Xshowfont*XstfontShowFwe8TB.labelString: Extra Bold
Xshowfont*XstfontShowFwe8TB.mnemonic: x

! XstfontShowFwe9TB
Xshowfont*XstfontShowFwe9TB.labelString: Black
Xshowfont*XstfontShowFwe9TB.mnemonic: k

! XstfontShowFwSep

! XstfontShowFw1TB
Xshowfont*XstfontShowFw1TB.labelString: Ultra Condensed
Xshowfont*XstfontShowFw1TB.mnemonic: U

! XstfontShowFw2TB
Xshowfont*XstfontShowFw2TB.labelString: Extra Condensed
Xshowfont*XstfontShowFw2TB.mnemonic: r

! XstfontShowFw3TB
Xshowfont*XstfontShowFw3TB.labelString: Condensed
Xshowfont*XstfontShowFw3TB.mnemonic: C

! XstfontShowFw4TB
Xshowfont*XstfontShowFw4TB.labelString: Semi Condensed
Xshowfont*XstfontShowFw4TB.mnemonic: d

! XstfontShowFw5TB
Xshowfont*XstfontShowFw5TB.labelString: Normal
Xshowfont*XstfontShowFw5TB.mnemonic: l

! XstfontShowFw6TB
Xshowfont*XstfontShowFw6TB.labelString: Semi Expanded
Xshowfont*XstfontShowFw6TB.mnemonic: p

! XstfontShowFw7TB
Xshowfont*XstfontShowFw7TB.labelString: Expanded
Xshowfont*XstfontShowFw7TB.mnemonic: a

! XstfontShowFw8TB
Xshowfont*XstfontShowFw8TB.labelString: Extra Expanded
Xshowfont*XstfontShowFw8TB.mnemonic: E

! XstfontShowFw9TB
Xshowfont*XstfontShowFw9TB.labelString: Ultra Expanded

! XstfontShowFsSep

! XstfontShowFs1TB
Xshowfont*XstfontShowFs1TB.labelString: Regular
Xshowfont*XstfontShowFs1TB.mnemonic: g

! XstfontShowFs2TB
Xshowfont*XstfontShowFs2TB.labelString: Italic
Xshowfont*XstfontShowFs2TB.mnemonic: t

! XstfontShowFs3TB
Xshowfont*XstfontShowFs3TB.labelString: Oblique
Xshowfont*XstfontShowFs3TB.mnemonic: q

! XstfontShowFs4TB
Xshowfont*XstfontShowFs4TB.labelString: Inclined

! XstfontShowFs5TB
Xshowfont*XstfontShowFs5TB.labelString: Slanted

! cascade7
Xshowfont*cascade7.labelString: Effects
Xshowfont*cascade7.mnemonic: f

! toggle20
Xshowfont*toggle20.labelString: Highlighted
Xshowfont*toggle20.mnemonic: H
Xshowfont*toggle20.accelerator: Ctrl<Key>H
Xshowfont*toggle20.acceleratorText: Ctrl+H

! cascade8
Xshowfont*cascade8.labelString: Underline 1 Effects
Xshowfont*cascade8.mnemonic: U

! toggle11
Xshowfont*toggle11.labelString: Thick
Xshowfont*toggle11.mnemonic: T
Xshowfont*toggle11.accelerator: Ctrl<Key>T
Xshowfont*toggle11.acceleratorText: Ctrl+T

! toggle13
Xshowfont*toggle13.labelString: Double
Xshowfont*toggle13.mnemonic: b

! toggle12
Xshowfont*toggle12.labelString: Underline
Xshowfont*toggle12.mnemonic: U
Xshowfont*toggle12.accelerator: Ctrl<Key>U
Xshowfont*toggle12.acceleratorText: Ctrl+U

! toggle14
Xshowfont*toggle14.labelString: Dotted Underline
Xshowfont*toggle14.mnemonic: D

! toggle15
Xshowfont*toggle15.labelString: Dashed Underline
Xshowfont*toggle15.mnemonic: a
Xshowfont*toggle15.accelerator: Ctrl<Key>Z
Xshowfont*toggle15.acceleratorText: Ctrl+Z

! toggle16
Xshowfont*toggle16.labelString: Long Dashed Underline
Xshowfont*toggle16.mnemonic: L

! toggle17
Xshowfont*toggle17.labelString: Dot Dashed Underline
Xshowfont*toggle17.mnemonic: o

! toggle18
Xshowfont*toggle18.labelString: Wavy Underline
Xshowfont*toggle18.mnemonic: v
Xshowfont*toggle18.accelerator: Ctrl<Key>V
Xshowfont*toggle18.acceleratorText: Ctrl+V

! toggle19
Xshowfont*toggle19.labelString: Double Wavy Underline
Xshowfont*toggle19.mnemonic: y
Xshowfont*toggle19.accelerator: Ctrl<Key>Y
Xshowfont*toggle19.acceleratorText: Ctrl+Y

! toggle42
Xshowfont*toggle42.labelString: MS Wave Underline
Xshowfont*toggle42.mnemonic: M

! toggle43
Xshowfont*toggle43.labelString: Short Square Underline
Xshowfont*toggle43.mnemonic: S

! toggle44
Xshowfont*toggle44.labelString: Long Square Underline
Xshowfont*toggle44.mnemonic: q

! cascade14
Xshowfont*cascade14.labelString: Underline 2 Effects

! toggle34
Xshowfont*toggle34.labelString: Thick
Xshowfont*toggle34.mnemonic: T

! toggle35
Xshowfont*toggle35.labelString: Double
Xshowfont*toggle35.mnemonic: b

! toggle36
Xshowfont*toggle36.labelString: Underline
Xshowfont*toggle36.mnemonic: U

! toggle37
Xshowfont*toggle37.labelString: Dotted Underline
Xshowfont*toggle37.mnemonic: D

! toggle38
Xshowfont*toggle38.labelString: Dashed Underline
Xshowfont*toggle38.mnemonic: a

! toggle39
Xshowfont*toggle39.labelString: Long Dashed Underline
Xshowfont*toggle39.mnemonic: L

! toggle40
Xshowfont*toggle40.labelString: Dot Dashed Underline
Xshowfont*toggle40.mnemonic: o

! toggle41
Xshowfont*toggle41.labelString: Wavy Underline
Xshowfont*toggle41.mnemonic: v

! cascade9
Xshowfont*cascade9.labelString: StrikeThrough Effect
Xshowfont*cascade9.mnemonic: S

! toggle21
Xshowfont*toggle21.labelString: Thick
Xshowfont*toggle21.mnemonic: T
Xshowfont*toggle21.accelerator: Ctrl<Key>X
Xshowfont*toggle21.acceleratorText: Ctrl+X

! toggle22
Xshowfont*toggle22.labelString: StrikeThrough
Xshowfont*toggle22.mnemonic: S
Xshowfont*toggle22.accelerator: Ctrl<Key>J
Xshowfont*toggle22.acceleratorText: Ctrl+J

! toggle23
Xshowfont*toggle23.labelString: Double StrikeThrough
Xshowfont*toggle23.mnemonic: D

! cascade11
Xshowfont*cascade11.labelString: Scaler Attributes
Xshowfont*cascade11.mnemonic: A

! XstfontShowScalerEBTB
Xshowfont*XstfontShowScalerEBTB.labelString: Apply Embeded Bitmaps
Xshowfont*XstfontShowScalerEBTB.mnemonic: m
Xshowfont*XstfontShowScalerEBTB.accelerator: Ctrl<Key>M
Xshowfont*XstfontShowScalerEBTB.acceleratorText: Ctrl+M

! XstfontShowScalerFHTB
Xshowfont*XstfontShowScalerFHTB.labelString: Apply Font Hints
Xshowfont*XstfontShowScalerFHTB.mnemonic: F
Xshowfont*XstfontShowScalerFHTB.accelerator: Ctrl<Key>F
Xshowfont*XstfontShowScalerFHTB.acceleratorText: Ctrl+F

! XstfontShowScalerAHTB
Xshowfont*XstfontShowScalerAHTB.labelString: Apply Autohinting
Xshowfont*XstfontShowScalerAHTB.mnemonic: A
Xshowfont*XstfontShowScalerAHTB.accelerator: Ctrl<Key>A
Xshowfont*XstfontShowScalerAHTB.acceleratorText: Ctrl+A

! HelpCB
Xshowfont*HelpCB.labelString: Help
Xshowfont*HelpCB.mnemonic: H

! button2
Xshowfont*button2.labelString: About
Xshowfont*button2.mnemonic: A

! frame1

! XstfontShowMainOptRC

! optionMenu1
Xshowfont*optionMenu1.labelString: Size:

! label6

! button4
Xshowfont*button4.labelString: 5

! button5
Xshowfont*button5.labelString: 6

! button6
Xshowfont*button6.labelString: 7

! button7
Xshowfont*button7.labelString: 8

! button8
Xshowfont*button8.labelString: 9

! button9
Xshowfont*button9.labelString: 10

! button10
Xshowfont*button10.labelString: 11

! button11
Xshowfont*button11.labelString: 12

! button12
Xshowfont*button12.labelString: 13

! button13
Xshowfont*button13.labelString: 14

! button14
Xshowfont*button14.labelString: 15

! button15
Xshowfont*button15.labelString: 16

! button16
Xshowfont*button16.labelString: 17

! button17
Xshowfont*button17.labelString: 18

! button18
Xshowfont*button18.labelString: 19

! button19
Xshowfont*button19.labelString: 20

! button20
Xshowfont*button20.labelString: 25

! button21
Xshowfont*button21.labelString: 30

! button22
Xshowfont*button22.labelString: 35

! button23
Xshowfont*button23.labelString: 40

! button24
Xshowfont*button24.labelString: 45

! button25
Xshowfont*button25.labelString: 50

! button26
Xshowfont*button26.labelString: 55

! button27
Xshowfont*button27.labelString: 60

! scale13

! label10
Xshowfont*label10.labelString: Size:

! frame4

! label8
Xshowfont*label8.labelString: Matrix

! label12
Xshowfont*label12.labelString: Scale X:

! label13
Xshowfont*label13.labelString: Scale Y:

! label14
Xshowfont*label14.labelString: Shear X:

! label15
Xshowfont*label15.labelString: Shear Y:

! label20
Xshowfont*label20.labelString: Rotate:

! XstfontShowScaleX
Xshowfont*XstfontShowScaleX.value: 1.0

! XstfontShowScaleY
Xshowfont*XstfontShowScaleY.value: 1.0

! XstfontShowShearX
Xshowfont*XstfontShowShearX.value: 0.0

! XstfontShowShearY
Xshowfont*XstfontShowShearY.value: 0.0

! XstfontShowRotate

! XstfontShowModeOPM
Xshowfont*XstfontShowModeOPM.labelString: Mode:

! label1

! XstfontShowBWPB
Xshowfont*XstfontShowBWPB.labelString: B & W
Xshowfont*XstfontShowBWPB.accelerator: Ctrl<Key>B

! XstfontShowGScalePB
Xshowfont*XstfontShowGScalePB.labelString: GrayScale
Xshowfont*XstfontShowGScalePB.accelerator: Ctrl<Key>G

! XstfontShowLCDOptPB
Xshowfont*XstfontShowLCDOptPB.labelString: LCD Opt
Xshowfont*XstfontShowLCDOptPB.accelerator: Ctrl<Key>L

! XstfontShowScalerOPM
Xshowfont*XstfontShowScalerOPM.labelString: Scaler:

! label7

! XstfontShowScalerPDM

! XstfontShowScalerPB0
Xshowfont*XstfontShowScalerPB0.labelString: Font Fusion 1.0

! XstfontShowAlphaFrame

! label4
Xshowfont*label4.labelString: Min:

! label5
Xshowfont*label5.labelString: Max:

! XstfontShowAlphaMin

! XstfontShowAlphaMax

! label3
Xshowfont*label3.labelString: Text Alpha

! XstfontShowHLAFrame

! label2
Xshowfont*label2.labelString: Min:

! XstfontShowHLAMin

! label9
Xshowfont*label9.labelString: Max:

! XstfontShowHLAMax

! label23
Xshowfont*label23.labelString: HighLight Alpha

! XstfontShowULFrame

! label24
Xshowfont*label24.labelString: Max:

! scale6

! label25
Xshowfont*label25.labelString: Underline Alpha

! XstfontShowSTFrame

! label26
Xshowfont*label26.labelString: Max:

! scale9

! label27
Xshowfont*label27.labelString: StrikeThrough Alpha

! XstfontShowWFFrame

! label11
Xshowfont*label11.labelString: Increment:

! scale7

! label21
Xshowfont*label21.labelString: Number:

! scale8

! label22
Xshowfont*label22.labelString: Waterfall

! frame2

! drawingArea1


--- NEW FILE: messages.po ---
domain "messages"
msgid  "%s: can't open display, exiting...\n"
msgstr
msgid  "Above-base Mark Positioning"
msgstr
msgid  "Above-base Substitutions"
msgstr
msgid  "Access All Alternatives"
msgstr
msgid  "Akhands"
msgstr
msgid  "All Type Features Off"
msgstr
msgid  "All Type Features On"
msgstr
msgid  "Alternate Annotation Forms"
msgstr
msgid  "Alternate Half Widths"
msgstr
msgid  "Alternate Vertical Half Metrics"
msgstr
msgid  "Alternate Vertical Metrics"
msgstr
msgid  "Alternative Fractions"
msgstr
msgid  "Annotation Box Annotaion"
msgstr
msgid  "Annotation Circle Annotation"
msgstr
msgid  "Annotation Diamond Annotation"
msgstr
msgid  "Annotation Inverted Annotation"
msgstr
msgid  "Annotation No Annotation"
msgstr
msgid  "Annotation Parenthesis Annotation"
msgstr
msgid  "Annotation Period Annotation"
msgstr
msgid  "Annotation Roman Numeral"
msgstr
msgid  "Annotation Rounded Annotation"
msgstr
msgid  "Below-base Forms"
msgstr
msgid  "Below-base Mark Positioning"
msgstr
msgid  "Below-base Substitutions"
msgstr
msgid  "CJK Roman Spacing Default"
msgstr
msgid  "CJK Roman Spacing Full Width"
msgstr
msgid  "CJK Roman Spacing Half Width"
msgstr
msgid  "CJK Roman Spacing Proportional"
msgstr
msgid  "Capital Spacing"
msgstr
msgid  "Case-Sensitive Forms"
msgstr
msgid  "Character Alternates Off"
msgstr
msgid  "Character Shape Expert"
msgstr
msgid  "Character Shape JIS1978"
msgstr
msgid  "Character Shape JIS1983"
msgstr
msgid  "Character Shape JIS1990"
msgstr
msgid  "Character Shape Simplified"
msgstr
msgid  "Character Shape Traditional"
msgstr
msgid  "Character Shape Traditional Alt Five"
msgstr
msgid  "Character Shape Traditional Alt Four"
msgstr
msgid  "Character Shape Traditional Alt One"
msgstr
msgid  "Character Shape Traditional Alt Three"
msgstr
msgid  "Character Shape Traditional Alt Two"
msgstr
msgid  "Connection Forms"
msgstr
msgid  "Contextual Ligatures"
msgstr
msgid  "Contextual Swash"
msgstr
msgid  "Cursive Connection Connected"
msgstr
msgid  "Cursive Connection Partially Connected"
msgstr
msgid  "Cursive Connection Unconnected"
msgstr
msgid  "Cursive Positioning"
msgstr
msgid  "Denominators"
msgstr
msgid  "Design Complexity Level 1"
msgstr
msgid  "Design Complexity Level 2"
msgstr
msgid  "Design Complexity Level 3"
msgstr
msgid  "Design Complexity Level 4"
msgstr
msgid  "Design Complexity Level 5"
msgstr
msgid  "Diacritics Decompose"
msgstr
msgid  "Diacritics Hide"
msgstr
msgid  "Diacritics Show"
msgstr
msgid  "Discretionary Ligatures"
msgstr
msgid  "Distances"
msgstr
msgid  "Expert Forms"
msgstr
msgid  "Final Glyph on Line Alternates"
msgstr
msgid  "Fractions"
msgstr
msgid  "Fractions Diagonal"
msgstr
msgid  "Fractions No Fractions"
msgstr
msgid  "Fractions Vertical"
msgstr
msgid  "Full Widths"
msgstr
msgid  "Glyph Composition / Decomposition"
msgstr
msgid  "Halant Forms"
msgstr
msgid  "Half Forms"
msgstr
msgid  "Half Widths"
msgstr
msgid  "Hangul"
msgstr
msgid  "Historical Forms"
msgstr
msgid  "Historical Ligatures"
msgstr
msgid  "Horizontal Kana Alternates"
msgstr
msgid  "Ideographic Spacing Full Width"
msgstr
msgid  "Ideographic Spacing Proportional"
msgstr
msgid  "Initial Forms"
msgstr
msgid  "Isolated Forms"
msgstr
msgid  "Italics"
msgstr
msgid  "JIS78 Forms"
msgstr
msgid  "JIS83 Forms"
msgstr
msgid  "JIS90 Forms"
msgstr
msgid  "Justification Alternates"
msgstr
msgid  "Kana Spacing Full Width"
msgstr
msgid  "Kana Spacing Proportional"
msgstr
msgid  "Kerning"
msgstr
msgid  "Left Bounds"
msgstr
msgid  "Letter Case All Caps"
msgstr
msgid  "Letter Case All Lower Case"
msgstr
msgid  "Letter Case Initial Caps"
msgstr
msgid  "Letter Case Initial Caps And Small Caps"
msgstr
msgid  "Letter Case Small Caps"
msgstr
msgid  "Letter Case Upper And Lower"
msgstr
msgid  "Ligatures Abbrev Squared Off"
msgstr
msgid  "Ligatures Abbrev Squared On"
msgstr
msgid  "Ligatures Common Off"
msgstr
msgid  "Ligatures Common On"
msgstr
msgid  "Ligatures Diphtong Off"
msgstr
msgid  "Ligatures Diphtong On"
msgstr
msgid  "Ligatures Logos Off"
msgstr
msgid  "Ligatures Logos On"
msgstr
msgid  "Ligatures Rare Off"
msgstr
msgid  "Ligatures Rare On"
msgstr
msgid  "Ligatures Rebus Off"
msgstr
msgid  "Ligatures Rebus On"
msgstr
msgid  "Ligatures Required Off"
msgstr
msgid  "Ligatures Required On"
msgstr
msgid  "Ligatures Squared Off"
msgstr
msgid  "Ligatures Squared On"
msgstr
msgid  "Linguistic Rearrangement Off"
msgstr
msgid  "Linguistic Rearrangement On"
msgstr
msgid  "Lining Figures"
msgstr
msgid  "Localized Forms"
msgstr
msgid  "Mark Positioning"
msgstr
msgid  "Mark Positioning via Substitution"
msgstr
msgid  "Mark to Mark Positioning"
msgstr
msgid  "Math Extras Asterisk To Multiply Off"
msgstr
msgid  "Math Extras Asterisk To Multiply On"
msgstr
msgid  "Math Extras Exponents Off"
msgstr
msgid  "Math Extras Exponents On"
msgstr
msgid  "Math Extras Hyphen To Minus Off"
msgstr
msgid  "Math Extras Hyphen To Minus On"
msgstr
msgid  "Math Extras Inequality Ligatures Off"
msgstr
msgid  "Math Extras Inequality Ligatures On"
msgstr
msgid  "Math Extras Slash To Divide Off"
msgstr
msgid  "Math Extras Slash To Divide On"
msgstr
msgid  "Mathematical Greek"
msgstr
msgid  "Medial Forms"
msgstr
msgid  "Medial Forms #2"
msgstr
msgid  "Nukta Forms"
msgstr
msgid  "Number Case Lower"
msgstr
msgid  "Number Case Upper"
msgstr
msgid  "Number Spacing Monospace"
msgstr
msgid  "Number Spacing Proportional"
msgstr
msgid  "Numerators"
msgstr
msgid  "Oldstyle Figures"
msgstr
msgid  "Optical Bounds"
msgstr
msgid  "Optical size"
msgstr
msgid  "Ordinals"
msgstr
msgid  "Ornament Sets Decorative Borders"
msgstr
msgid  "Ornament Sets Dingbats"
msgstr
msgid  "Ornament Sets Fleurons"
msgstr
msgid  "Ornament Sets International Symbols"
msgstr
msgid  "Ornament Sets Math Symbols"
msgstr
msgid  "Ornament Sets No Ornament"
msgstr
msgid  "Ornament Sets Pi Characters"
msgstr
msgid  "Ornaments"
msgstr
msgid  "Overlapping Characters Prevent Off"
msgstr
msgid  "Overlapping Characters Prevent On"
msgstr
msgid  "Post-base Forms"
msgstr
msgid  "Post-base Substitutions"
msgstr
msgid  "Pre-base Substitutions"
msgstr
msgid  "Proportional Alternate Vertical Metrics"
msgstr
msgid  "Proportional Alternate Widths"
msgstr
msgid  "Proportional Figures"
msgstr
msgid  "Proportional Widths"
msgstr
msgid  "Quarter Widths"
msgstr
msgid  "Randomize"
msgstr
msgid  "Reph Forms"
msgstr
msgid  "Required Ligatures"
msgstr
msgid  "Right Bounds"
msgstr
msgid  "Ruby Notation Forms"
msgstr
msgid  "Scientific Inferiors"
msgstr
msgid  "Simplified Forms"
msgstr
msgid  "Slashed Zero"
msgstr
msgid  "Small Capitals"
msgstr
msgid  "Small Capitals From Capitals"
msgstr
msgid  "Smart Swash Line Final Off"
msgstr
msgid  "Smart Swash Line Final On"
msgstr
msgid  "Smart Swash Line Initial Off"
msgstr
msgid  "Smart Swash Line Initial On"
msgstr
msgid  "Smart Swash Non Final Off"
msgstr
msgid  "Smart Swash Non Final On"
msgstr
msgid  "Smart Swash Word Final Off"
msgstr
msgid  "Smart Swash Word Final On"
msgstr
msgid  "Smart Swash Word Initial Off"
msgstr
msgid  "Smart Swash Word Initial On"
msgstr
msgid  "Standard Ligatures"
msgstr
msgid  "Style Options Display Text"
msgstr
msgid  "Style Options Engraved Text"
msgstr
msgid  "Style Options Illuminated Text"
msgstr
msgid  "Style Options No Options"
msgstr
msgid  "Style Options Tall Caps"
msgstr
msgid  "Style Options Titling Caps"
msgstr
msgid  "Stylistic Alternates"
msgstr
msgid  "Subscript"
msgstr
msgid  "Superscript"
msgstr
msgid  "Swash"
msgstr
msgid  "TE2TB"
msgstr
msgid  "Tabular Figures"
msgstr
msgid  "Terminal Forms"
msgstr
msgid  "Terminal Forms #2"
msgstr
msgid  "Terminal Forms #3"
msgstr
msgid  "Text Spacing Half Width"
msgstr
msgid  "Text Spacing Monospaced"
msgstr
msgid  "Text Spacing Normally Spaced"
msgstr
msgid  "Text Spacing Proportional"
msgstr
msgid  "Third Widths"
msgstr
msgid  "Titling"
msgstr
msgid  "Traditional Forms"
msgstr
msgid  "Traditional Name Forms"
msgstr
msgid  "Transliteration Hanja To Hangul"
msgstr
msgid  "Transliteration Hanja To Hangul Alt One"
msgstr
msgid  "Transliteration Hanja To Hangul Alt Three"
msgstr
msgid  "Transliteration Hanja To Hangul Alt Two"
msgstr
msgid  "Transliteration Hiragana To Katakana"
msgstr
msgid  "Transliteration Kana To Romanization"
msgstr
msgid  "Transliteration Katakana To Hiragana"
msgstr
msgid  "Transliteration No Transliteration"
msgstr
msgid  "Transliteration Romanization To Hiragana"
msgstr
msgid  "Transliteration Romanization To Katakana"
msgstr
msgid  "Typo Extras Form Interrobang Off"
msgstr
msgid  "Typo Extras Form Interrobang On"
msgstr
msgid  "Typo Extras Hyphen To En Dash Off"
msgstr
msgid  "Typo Extras Hyphen To En Dash On"
msgstr
msgid  "Typo Extras Hyphens To Em Dash Off"
msgstr
msgid  "Typo Extras Hyphens To Em Dash On"
msgstr
msgid  "Typo Extras Periods To Ellipsis Off"
msgstr
msgid  "Typo Extras Periods To Ellipsis On"
msgstr
msgid  "Typo Extras Smart Quotes Off"
msgstr
msgid  "Typo Extras Smart Quotes On"
msgstr
msgid  "Typo Extras Unslashed Zero Off"
msgstr
msgid  "Typo Extras Unslashed Zero On"
msgstr
msgid  "Vattu Variants"
msgstr
msgid  "Vertical Alternates and Rotation"
msgstr
msgid  "Vertical Kana Alternates"
msgstr
msgid  "Vertical Kerning"
msgstr
msgid  "Vertical Position Inferiors"
msgstr
msgid  "Vertical Position Normal"
msgstr
msgid  "Vertical Position Ordinals"
msgstr
msgid  "Vertical Position Superiors"
msgstr
msgid  "Vertical Substitution Off"
msgstr
msgid  "Vertical Substitution On"
msgstr
msgid  "Vertical Writing"
msgstr
msgid  "XST Font Select: %s %s\n"
msgstr
msgid  "xstfontsel: Malloc failed for feature array\n"
msgstr

--- NEW FILE: xstshowfont.c ---
/*
** Generated by WorkShop Visual
*/
/*
**LIBS: -lXm -lXt -lX11
*/

#include <stdlib.h>
#include <X11/Xatom.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>

#include <Xm/Xm.h>
#include <Xm/CascadeB.h>
#include <Xm/DialogS.h>
#include <Xm/DrawingA.h>
#include <Xm/Form.h>
#include <Xm/Frame.h>
#include <Xm/Label.h>
[...1825 lines suppressed...]
	if (drawingArea1)
		XtAddCallback( drawingArea1, XmNinputCallback, XstfontShowInputCB, (XtPointer) 0 );
	if (drawingArea1)
		XtAddCallback( drawingArea1, XmNresizeCallback, XstfontShowResizeCB, (XtPointer) 0 );
	if (drawingArea1)
		XtAddCallback( drawingArea1, XmNexposeCallback, XstfontShowExposeCB, (XtPointer) 0 );
	if ((children[ac] = drawingArea1) != (Widget) 0) { ac++; }
	if (ac > 0) { XtManageChildren(children, ac); }
	ac = 0;
	if ((children[ac] = form2) != (Widget) 0) { ac++; }
	if (ac > 0) { XtManageChildren(children, ac); }
	ac = 0;
	if ((children[ac] = menuBar1) != (Widget) 0) { ac++; }
	if ((children[ac] = frame1) != (Widget) 0) { ac++; }
	if ((children[ac] = frame2) != (Widget) 0) { ac++; }
	if (ac > 0) { XtManageChildren(children, ac); }
	ac = 0;
	if (form1 != (Widget) 0) { XtManageChild ( form1); }
}


--- NEW FILE: xstshowfont.h ---
/*
** Generated by WorkShop Visual
*/
#ifndef _xstshowfont_h
#define _xstshowfont_h

#define XD_MOTIF

#include <X11/Xst/Xst.h>


#define MAX_BUTTONS 30


extern Widget XstfontShowErrorShell;
extern Widget XstfontShowErrorMB;

extern Widget XstfontShowAboutShell;
extern Widget XstfontShowAboutMB;

extern Widget XstfontShowMainShell;
extern Widget HelpCB;
extern Widget XstfontShowMainOptRC;

extern void create_XstfontShowErrorShell (Widget);

extern void create_XstfontShowAboutShell (Widget);
extern void create_XstfontShowColorShell (Widget);
extern void create_XstfontShowTextShell (Widget);

extern void create_XstfontShowMainShell (Display *, char *, int, char **);

extern void XstFontShowInitXST();
extern void XstFontShowAddFonts(Widget);
extern void XstFontShowAddFeatures(Widget);

typedef struct {
        int            x;                       /* X pos of quick button                    */
        int            y;                       /* Y pos of quick button                    */
        int            w;                       /* Width of quick button                    */
        int            h;                       /* Height of quick button                   */
        int            type;                    /* Type of quick button                     */
        Pixmap         pix;                     /* Pixmap of quick button                   */
} XstFontButtons;

typedef struct {
        double             sx;                  /* Scale X value                            */
        double             sy;                  /* Scale Y value                            */
        double             shx;                 /* Shear X value                            */
        double             shy;                 /* Shear Y value                            */
        double             theta;               /* Rotate value                             */
        double             size;                /* Size of Font                             */
        double             tx;                  /* Translate X value                        */
        double             ty;                  /* Translate Y value                        */
        XSTBaselineFlag    bflag;               /* Not Set                                  */
        int                fcount;              /* Number of Features used for current font */
        int                fmax;                /* Maximum available features for font      */
        XSTFontFeatureTag *farray;              /* Current feature list                     */
        XSTCount           availfcount;         /* Number of available features for font    */
        XSTFontFeatureTag *availfarray;         /* List of available features for font      */
        Widget             fbutton[MAX_BUTTONS];/* Feature buttons in pulldown              */
        XSTMatrix          matrix;              /* Matrix (not used)                        */
} XstFontData;

typedef struct {
        XSTScaler          scaler;
        XSTScalerFlags     sFlags;
        XSTScalerFontMask  fFlags;
        Widget             pb;
} XstScalerData;

typedef struct {
        XSTFont            fontid;
        Widget             fontbutton;
        utf8              *fontname;
        XSTFontType        fonttype;
        XSTFontInfoFlags   fontinfo;
        XSTCount           fontsbitcount;
        int               *fontsbitarray;
        int                getname;
        XSTFontWeightClass weight;
        XSTFontWidthClass  width;
        XSTFontStyle       style;
} XstFontData2;

typedef struct {
        XSTFontFamily      fontfamilyid;        /* Font Family ID                           */
        Widget             fontbutton;          /* Font Family Cascade Widget               */
        Widget             fontmenu;            /* Font Family Menu Widget                  */
        utf8              *fontfamilyname;      /* Font Family Name String                  */
        XstFontData2      *fonts;               /* Fonts within family                      */
        XSTCount           numfonts;            /* Number of fonts within family            */
        int                numbuttons;          /* Total number of buttons created          */
        int                cb_begin;            /* Incremented font number first within fam */
        int                cb_end;              /* Incremented font number last within fam  */
        Widget            *cascades;            /* Widget list of cascade buttons           */
        Widget            *menu;                /* Widget list of menu buttons              */
        int                getname;
} XstFontFamilyData;

typedef struct {
        Display           *dpy;                 /* X Display                                */
        GC                 BWgc;                /* GC for black and white (uses GXor)       */
        GC                 Agc;                 /* GC for AA foreground                     */
        GC                 Agc32;               /* GC for AA foreground                     */
        GC                 Egc;                 /* Erase GC                                 */
        GC                 Egc32;               /* Erase GC                                 */
        GC                 Ugc;                 /* Current GC                               */
        Drawable           pix;                 /* Pixmap to initially draw to              */
        Drawable           win;                 /* Window to copy pixmap to                 */
        int                width;               /* Window/Pixmap width                      */
        int                height;              /* Window/Pixmap height                     */
        XSTTypeEnv         gTypeEnv;            /* STTypeEnv XID                            */
        XSTFont            gFont;               /* STFont value                             */
        int                family;              /* */
        XSTText            gText;               /* STText XID                               */
        XSTText            wfText;              /* Waterfall Text                           */
        XSTStyle           gStyle;              /* STStyle XID                              */
        int                gLineNum;            /* Number of lines to display               */
        XSTLine           *gLine;               /* STLine XID list                          */
        XSTLine            wfLine;              /* Waterfall XID list                       */
        XSTCount          *gLineLen;            /* Length of each STLine in bytes           */
        XstFontData        data;                /* FontData structure above                 */
        XstFontFamilyData *fontfamilies;        /* FontFamilyData structure above           */
        XSTCount           numfontfamilies;     /* Number of available fonts                */
        char              *string;              /* String to display                        */
        char              *wfstringbase;        /* Waterfall string                         */
        XSTCount           numchars;            /* Number of chars in string                */
        XSTCount           wfnumchars;          /* Number of chars in string                */
        Widget            *cascades;            /* Widget list of cascade buttons           */
        Widget            *menu;                /* Widget list of menu buttons              */
        int                aa;                  /* Anti Alias mode                          */
        XstFontButtons     buttons[6];          /* Quick Mode buttons                       */
        int                quick;               /* Quick Mode                               */
        XtIntervalId       timer;               /* Timer for quick draw updates             */
        int                func;                /* Function performing update to display    */
        double             min_alpha;           /* Minimum Alpha value for alpha range      */
        double             max_alpha;           /* Maximum Alpha value for alpha range      */
        double             hl_min_alpha;        /* Minimum Alpha value for alpha range      */
        double             hl_max_alpha;        /* Maximum Alpha value for alpha range      */
        double             ul_max_alpha;        /* Maximum Alpha value for alpha range      */
        double             st_max_alpha;        /* Maximum Alpha value for alpha range      */
        int                draw_bounds;         /* Draw bounding box around each line       */
        double            *lead;                /* Leading between lines                    */
        XSTStyleEffects    styleEffects;        /* Style Effects holder                     */
        XstScalerData     *scalers;             /* Scaler data structure                    */
        int                scaler;
        XSTSbitsMode       sbits;
        XSTHintingMode     hints;
        XSTRGBAColor      *colors;
        int                waterfall;
        double             increment;
        int                number;
        uint32_t           ul;
        uint32_t           st;
        int                highlighted;
        int                fractional;
        int                fractional_d;
	STLanguage         locale;
        Pixmap             rend_pix;            /* Pixmap to draw AA/LCD text onto (RGBA 32)*/
} XstFontShowGlobal;

#endif

--- NEW FILE: xstshowfont.man ---
.\" $Xorg: xstshowfont.man,v 1.4 2001/02/09 02:05:39 xorgcvs Exp $
.\" Copyright 1988, 1994, 1998  The Open Group
.\"
.\" Permission to use, copy, modify, distribute, and sell this software and its
.\" documentation for any purpose is hereby granted without fee, provided that
.\" the above copyright notice appear in all copies and that both that
.\" copyright notice and this permission notice appear in supporting
.\" documentation.
.\"
.\" The above copyright notice and this permission notice shall be included
.\" in all copies or substantial portions of the Software.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
.\" OTHER DEALINGS IN THE SOFTWARE.
.\"
.\" Except as contained in this notice, the name of The Open Group shall
.\" not be used in advertising or otherwise to promote the sale, use or
.\" other dealings in this Software without prior written authorization
.\" from The Open Group.
.\"
.\" $XFree86: xc/programs/xstshowfont/xstshowfont.man,v 1.10 2001/12/14 20:01:18 dawes Exp $
.\"
.TH XCLOCK 1 __xorgversion__
.SH NAME
xstshowfont - show fonts.
.SH SYNOPSIS
.ta 8n
\fBxstshowfont\fP [ \fB\-xstfont\fP \fIfont name\fP ] 
[ \fB\-string\fP \fIUTF-8 text\fP ] [ \fB\-fga\fP \fInumber\fP ]
[ \fB\-bga\fP \fInumber\fP ] [ \fB\-bgpixmap\fP \fIfile\fP ] 
[ \fB\-bw\fP ]
.SH DESCRIPTION
The
.I xstshowfont
programs allows the user to select a font and change various properties
relating to how the font is displayed. The following properties may be
changed:
.TP 8
.B Properties:
Font
.br
Size
.br
Matrix translations
.br
Output Mode
.br
Scaler
.br
Alpha Range - available only with Grayscale
.br
Features
.br
Style
.br
Scaler Attributes
.br
.SH OPTIONS
.I Xstshowfont
accepts all of the standard X Toolkit command line options along with the
additional options listed below:
.TP 8
\fB\-xstfont\fP \fIfont name\fP
This option specifies the name of the font to use as the default. If no 
font is specified, then the first font found in alphabetical order is used.
.TP 8
\fB\-string\fP \fIUTF-8 text\fP
This option allows the user to specify a text string to display instead of
the default strings. If the inputted string is one line, then it will be
used in the waterfall display as well. The string must be in UTF-8 format,
and must be contained within quotes (") if it includes spaces, tabs or
other characters that denote word breaks. The maximum nuber of lines of 
text is twenty.
.TP 8
\fB\-fga\fP \fInumber\fP
This option specifies the alpha value for the foreground text. It sets the
slider bar and will cause grayscale text to become transparent. Number must
be between 0.0 and 1.0. It must be larger than the value for -bga. The 
default value is 1.0.
.TP 8
\fB\-bga\fP \fInumber\fP
This option specifies the alpha value for the background text bounding box. 
It sets the slider bar and will cause grayscale text background to become 
semi transparent. Number must be between 0.0 and 1.0. It must be smaller 
than the value for -fga. The default value is 0.0.
.TP 8
\fB\-bgpixmap\fP \fIfile\fP
This option specifies a pixmap that will be tiled into the background of
the drawing area. The full path and filename must be specified.
.TP 8
\fB\-bw\fP
This option sets the foreground color to white and the background color to
black of the drawing area. This is done so that black and white output mode
may use GXor. (This argument is deprecated)
.SH Hot Keys
.I Xstshowfont
understands the following hot keys:
.TP 8
\fBCtrl+#:\fP
#th scaler in the scaler: pulldown. Where # is 1 - number of scalers.
.TP 8
\fBCtrl+A:\fP
Apply Autohinting if it is available for the selected scaler.
.TP 8
\fBCtrl+B:\fB
Output text in Black and White Mode.
.TP 8
\fBCtrl+C:\fB
Apply algorithmic Condensed Style to the font.
.TP 8
\fBCtrl+D:\fB
Draw bounding boxes around the lines.
.TP 8
\fBCtrl+E:\fB
Exit the application.
.TP 8
\fBCtrl+F:\fB
Apply Font Hints if it is available for the selected scaler.
.TP 8
\fBCtrl+G:\fB
Output text in Grayscale Mode. Enable Alpha Range sliders.
.TP 8
\fBCtrl+I:\fB
Choose Italic version of font, or calculate algorithimic italics.
.TP 8
\fBCtrl+K:\fB
Suppress Kerning.
.TP 8
\fBCtrl+L:\fB
Output text in LCD Mode if it is available for the selected scaler.
.TP 8
\fBCtrl+M:\fB
Apply Embeded Bitmaps if it is available for the selected scaler.
.TP 8
\fBCtrl+N:\fB
Next font down the list.
.TP 8
\fBCtrl+O:\fB
Choose Bold version of font, or calculate algorithmic bold.
.TP 8
\fBCtrl+P:\fB
Previous font in the list.
.TP 8
\fBCtrl+Q:\fB
Toggle Quick Buttons.
.TP 8
\fBCtrl+S:\fB
Suppress Cross Kerning.
.TP 8
\fBCtrl+W:\fB
Toggle Waterfall display.
.TP 8
\fBCtrl+X:\fB
Apply algorithmic Extended style to the font.

--- NEW FILE: xstshowfont.res ---
! Generated by WorkShop Visual


! XstfontSelTextShell
XApplication*XstfontSelTextShell.title: Change Text

! XstfontSelTextForm

! XstfontSelTextText

! button48
XApplication*button48.labelString: Apply

! button49
XApplication*button49.labelString: Cancel


! XstfontSelColorShell
XApplication*XstfontSelColorShell.title: Set Color

! XstfontSelColorForm
XApplication*optionMenu4.labelString: Color:

! label28

! button42
XApplication*button42.labelString: Text

! button43
XApplication*button43.labelString: Highlighted Text

! button44
XApplication*button44.labelString: Highlight Background

! button45
XApplication*button45.labelString: Strike Through

! button46
XApplication*button46.labelString: Highlight Strike Through

! button47
XApplication*button47.labelString: Underline 1

! button48
XApplication*button48.labelString: Highlight Underline 1

! button49
XApplication*button49.labelString: Underline 2

! button50
XApplication*button50.labelString: Highlight Underline 2

! frame8

! XstfontSelColorRed

! XstfontSelColorGreen

! XstfontSelColorBlue

! label29
XApplication*label29.labelString: Red:

! label30
XApplication*label30.labelString: Green:

! label31
XApplication*label31.labelString: Blue:

! button40
XApplication*button40.labelString: Apply

! button41
XApplication*button41.labelString: Cancel


! XstfontSelErrorShell
XApplication*XstfontSelErrorShell.title: XST Error

! XstfontSelErrorMB

! label18
XApplication*MessageLabel.labelString: The XServer is not XST enabled.\nThis application cannot function\nproperly. Please use an XServer\nwith the XST extension.


! XstfontSelAboutShell
XApplication*XstfontSelAboutShell.title: About XST Font Select

! XstfontSelAboutMB

! label16
XApplication*MessageLabel.labelString: XST Font Select\nX.Org 10/24/2001\n\nThis utility displays fonts and\nallows users to change styles,\nmatrices, and features.\n\nThis application must be run\nwith an XST enabled Xserver,\nor no fonts or features will\nbe available. 


! XstfontSelMainShell
XApplication.title: XST Font Select

! form1

! menuBar1

! cascade1
XApplication*cascade1.labelString: File
XApplication*cascade1.mnemonic: F

! toggle1
XApplication*toggle1.labelString: Quick Buttons
XApplication*toggle1.mnemonic: Q
XApplication*toggle1.accelerator: Ctrl<Key>Q
XApplication*toggle1.acceleratorText: Ctrl+Q

! toggle2
XApplication*toggle2.labelString: Draw Bounds
XApplication*toggle2.mnemonic: D
XApplication*toggle2.accelerator: Ctrl<Key>D
XApplication*toggle2.acceleratorText: Ctrl+D

! toggle8
XApplication*toggle8.labelString: Waterfall
XApplication*toggle8.mnemonic: W
XApplication*toggle8.accelerator: Ctrl<Key>W
XApplication*toggle8.acceleratorText: Ctrl+W

! button39
XApplication*button39.labelString: Colors ...
XApplication*button39.mnemonic: C
XApplication*button39.accelerator: Ctrl<Key>C
XApplication*button39.acceleratorText: Ctrl+C

! button47
XApplication*button47.labelString: Text ...

! button1
XApplication*button1.labelString: Exit
XApplication*button1.mnemonic: E
XApplication*button1.accelerator: Ctrl<Key>E
XApplication*button1.acceleratorText: Ctrl+E

! cascade3
XApplication*cascade3.labelString: Font
XApplication*cascade3.mnemonic: o

! XstfontSelFontMenu

! button3
XApplication*button3.labelString: Previous Font
XApplication*button3.accelerator: Ctrl<Key>P

! button38
XApplication*button38.labelString: Next Font
XApplication*button38.accelerator: Ctrl<Key>N

! cascade12
XApplication*cascade12.labelString: Features
XApplication*cascade12.mnemonic: e

! FE1TB
XApplication*FE1TB.labelString: Suppress Kerning
XApplication*FE1TB.mnemonic: K
XApplication*FE1TB.accelerator: Ctrl<Key>K
XApplication*FE1TB.acceleratorText: Ctrl+K

! TE2TB
XApplication*TE2TB.labelString: Suppress Cross Kerning
XApplication*TE2TB.mnemonic: S
XApplication*TE2TB.accelerator: Ctrl<Key>S
XApplication*TE2TB.acceleratorText: Ctrl+S

! cascade13
XApplication*cascade13.labelString: Style
XApplication*cascade13.mnemonic: S

! toggle3
XApplication*toggle3.labelString: Embolden
XApplication*toggle3.mnemonic: o
XApplication*toggle3.accelerator: Ctrl<Key>O
XApplication*toggle3.acceleratorText: Ctrl+O

! toggle4
XApplication*toggle4.labelString: Italicize
XApplication*toggle4.mnemonic: I
XApplication*toggle4.accelerator: Ctrl<Key>I
XApplication*toggle4.acceleratorText: Ctrl+I

! toggle5
XApplication*toggle5.labelString: Condense

! toggle6
XApplication*toggle6.labelString: Expand

! XstfontSelFweSep

! XstfontSelFwe1TB
XApplication*XstfontSelFwe1TB.labelString: Thin

! XstfontSelFwe2TB
XApplication*XstfontSelFwe2TB.labelString: Extra Light

! XstfontSelFwe3TB
XApplication*XstfontSelFwe3TB.labelString: Light
XApplication*XstfontSelFwe3TB.mnemonic: h

! XstfontSelFwe4TB
XApplication*XstfontSelFwe4TB.labelString: Normal
XApplication*XstfontSelFwe4TB.mnemonic: N

! XstfontSelFwe5TB
XApplication*XstfontSelFwe5TB.labelString: Medium
XApplication*XstfontSelFwe5TB.mnemonic: M

! XstfontSelFwe6TB
XApplication*XstfontSelFwe6TB.labelString: Semi Bold
XApplication*XstfontSelFwe6TB.mnemonic: S

! XstfontSelFwe7TB
XApplication*XstfontSelFwe7TB.labelString: Bold
XApplication*XstfontSelFwe7TB.mnemonic: B

! XstfontSelFwe8TB
XApplication*XstfontSelFwe8TB.labelString: Extra Bold
XApplication*XstfontSelFwe8TB.mnemonic: x

! XstfontSelFwe9TB
XApplication*XstfontSelFwe9TB.labelString: Black
XApplication*XstfontSelFwe9TB.mnemonic: k

! XstfontSelFwSep

! XstfontSelFw1TB
XApplication*XstfontSelFw1TB.labelString: Ultra Condensed
XApplication*XstfontSelFw1TB.mnemonic: U

! XstfontSelFw2TB
XApplication*XstfontSelFw2TB.labelString: Extra Condensed
XApplication*XstfontSelFw2TB.mnemonic: r

! XstfontSelFw3TB
XApplication*XstfontSelFw3TB.labelString: Condensed
XApplication*XstfontSelFw3TB.mnemonic: C

! XstfontSelFw4TB
XApplication*XstfontSelFw4TB.labelString: Semi Condensed
XApplication*XstfontSelFw4TB.mnemonic: d

! XstfontSelFw5TB
XApplication*XstfontSelFw5TB.labelString: Normal
XApplication*XstfontSelFw5TB.mnemonic: l

! XstfontSelFw6TB
XApplication*XstfontSelFw6TB.labelString: Semi Expanded
XApplication*XstfontSelFw6TB.mnemonic: p

! XstfontSelFw7TB
XApplication*XstfontSelFw7TB.labelString: Expanded
XApplication*XstfontSelFw7TB.mnemonic: a

! XstfontSelFw8TB
XApplication*XstfontSelFw8TB.labelString: Extra Expanded
XApplication*XstfontSelFw8TB.mnemonic: E

! XstfontSelFw9TB
XApplication*XstfontSelFw9TB.labelString: Ultra Expanded

! XstfontSelFsSep

! XstfontSelFs1TB
XApplication*XstfontSelFs1TB.labelString: Regular
XApplication*XstfontSelFs1TB.mnemonic: g

! XstfontSelFs2TB
XApplication*XstfontSelFs2TB.labelString: Italic
XApplication*XstfontSelFs2TB.mnemonic: t

! XstfontSelFs3TB
XApplication*XstfontSelFs3TB.labelString: Oblique
XApplication*XstfontSelFs3TB.mnemonic: q

! XstfontSelFs4TB
XApplication*XstfontSelFs4TB.labelString: Inclined

! XstfontSelFs5TB
XApplication*XstfontSelFs5TB.labelString: Slanted

! cascade7
XApplication*cascade7.labelString: Effects
XApplication*cascade7.mnemonic: f

! toggle20
XApplication*toggle20.labelString: Highlighted
XApplication*toggle20.mnemonic: H
XApplication*toggle20.accelerator: Ctrl<Key>H
XApplication*toggle20.acceleratorText: Ctrl+H

! cascade8
XApplication*cascade8.labelString: Underline Effect
XApplication*cascade8.mnemonic: U

! toggle11
XApplication*toggle11.labelString: Thick
XApplication*toggle11.mnemonic: T
XApplication*toggle11.accelerator: Ctrl<Key>T
XApplication*toggle11.acceleratorText: Ctrl+T

! toggle12
XApplication*toggle12.labelString: Underline
XApplication*toggle12.mnemonic: U
XApplication*toggle12.accelerator: Ctrl<Key>U
XApplication*toggle12.acceleratorText: Ctrl+U

! toggle13
XApplication*toggle13.labelString: Double Underline
XApplication*toggle13.mnemonic: r
XApplication*toggle13.accelerator: Ctrl<Key>R
XApplication*toggle13.acceleratorText: Ctrl+R

! toggle14
XApplication*toggle14.labelString: Dotted Underline
XApplication*toggle14.mnemonic: D

! toggle15
XApplication*toggle15.labelString: Dashed Underline
XApplication*toggle15.mnemonic: a
XApplication*toggle15.accelerator: Ctrl<Key>Z
XApplication*toggle15.acceleratorText: Ctrl+Z

! toggle16
XApplication*toggle16.labelString: Long Dashed Underline
XApplication*toggle16.mnemonic: L

! toggle17
XApplication*toggle17.labelString: Dot Dashed Underline
XApplication*toggle17.mnemonic: o

! toggle18
XApplication*toggle18.labelString: Wavy Underline
XApplication*toggle18.mnemonic: v
XApplication*toggle18.accelerator: Ctrl<Key>V
XApplication*toggle18.acceleratorText: Ctrl+V

! toggle19
XApplication*toggle19.labelString: Double Wavy Underline
XApplication*toggle19.mnemonic: y
XApplication*toggle19.accelerator: Ctrl<Key>Y
XApplication*toggle19.acceleratorText: Ctrl+Y

! cascade9
XApplication*cascade9.labelString: StrikeThrough Effect
XApplication*cascade9.mnemonic: S

! toggle21
XApplication*toggle21.labelString: Thick
XApplication*toggle21.mnemonic: T
XApplication*toggle21.accelerator: Ctrl<Key>X
XApplication*toggle21.acceleratorText: Ctrl+X

! toggle22
XApplication*toggle22.labelString: StrikeThrough
XApplication*toggle22.mnemonic: S
XApplication*toggle22.accelerator: Ctrl<Key>J
XApplication*toggle22.acceleratorText: Ctrl+J

! toggle23
XApplication*toggle23.labelString: Double StrikeThrough
XApplication*toggle23.mnemonic: D

! cascade11
XApplication*cascade11.labelString: Scaler Attributes
XApplication*cascade11.mnemonic: A

! XstfontSelScalerEBTB
XApplication*XstfontSelScalerEBTB.labelString: Apply Embeded Bitmaps
XApplication*XstfontSelScalerEBTB.mnemonic: m
XApplication*XstfontSelScalerEBTB.accelerator: Ctrl<Key>M
XApplication*XstfontSelScalerEBTB.acceleratorText: Ctrl+M

! XstfontSelScalerFHTB
XApplication*XstfontSelScalerFHTB.labelString: Apply Font Hints
XApplication*XstfontSelScalerFHTB.mnemonic: F
XApplication*XstfontSelScalerFHTB.accelerator: Ctrl<Key>F
XApplication*XstfontSelScalerFHTB.acceleratorText: Ctrl+F

! XstfontSelScalerAHTB
XApplication*XstfontSelScalerAHTB.labelString: Apply Autohinting
XApplication*XstfontSelScalerAHTB.mnemonic: A
XApplication*XstfontSelScalerAHTB.accelerator: Ctrl<Key>A
XApplication*XstfontSelScalerAHTB.acceleratorText: Ctrl+A

! HelpCB
XApplication*HelpCB.labelString: Help
XApplication*HelpCB.mnemonic: H

! button2
XApplication*button2.labelString: About
XApplication*button2.mnemonic: A

! frame1

! XstfontSelMainOptRC

! optionMenu1
XApplication*optionMenu1.labelString: Size:

! label6

! button4
XApplication*button4.labelString: 5

! button5
XApplication*button5.labelString: 6

! button6
XApplication*button6.labelString: 7

! button7
XApplication*button7.labelString: 8

! button8
XApplication*button8.labelString: 9

! button9
XApplication*button9.labelString: 10

! button10
XApplication*button10.labelString: 11

! button11
XApplication*button11.labelString: 12

! button12
XApplication*button12.labelString: 13

! button13
XApplication*button13.labelString: 14

! button14
XApplication*button14.labelString: 15

! button15
XApplication*button15.labelString: 16

! button16
XApplication*button16.labelString: 17

! button17
XApplication*button17.labelString: 18

! button18
XApplication*button18.labelString: 19

! button19
XApplication*button19.labelString: 20

! button20
XApplication*button20.labelString: 25

! button21
XApplication*button21.labelString: 30

! button22
XApplication*button22.labelString: 35

! button23
XApplication*button23.labelString: 40

! button24
XApplication*button24.labelString: 45

! button25
XApplication*button25.labelString: 50

! button26
XApplication*button26.labelString: 55

! button27
XApplication*button27.labelString: 60

! scale13

! label10
XApplication*label10.labelString: Size:

! frame4

! label8
XApplication*label8.labelString: Matrix

! label12
XApplication*label12.labelString: Scale X:

! label13
XApplication*label13.labelString: Scale Y:

! label14
XApplication*label14.labelString: Shear X:

! label15
XApplication*label15.labelString: Shear Y:

! label20
XApplication*label20.labelString: Rotate:

! XstfontSelScaleX
XApplication*XstfontSelScaleX.value: 1.0

! XstfontSelScaleY
XApplication*XstfontSelScaleY.value: 1.0

! XstfontSelShearX
XApplication*XstfontSelShearX.value: 0.0

! XstfontSelShearY
XApplication*XstfontSelShearY.value: 0.0

! XstfontSelRotate

! XstfontSelModeOPM
XApplication*XstfontSelModeOPM.labelString: Mode:

! label1

! XstfontSelBWPB
XApplication*XstfontSelBWPB.labelString: B & W
XApplication*XstfontSelBWPB.accelerator: Ctrl<Key>B

! XstfontSelGScalePB
XApplication*XstfontSelGScalePB.labelString: GrayScale
XApplication*XstfontSelGScalePB.accelerator: Ctrl<Key>G

! XstfontSelLCDOptPB
XApplication*XstfontSelLCDOptPB.labelString: LCD Opt
XApplication*XstfontSelLCDOptPB.accelerator: Ctrl<Key>L

! XstfontSelScalerOPM
XApplication*XstfontSelScalerOPM.labelString: Scaler:

! label7

! XstfontSelScalerPDM

! XstfontSelScalerPB0
XApplication*XstfontSelScalerPB0.labelString: Font Fusion 1.0

! XstfontSelAlphaFrame

! label4
XApplication*label4.labelString: Min:

! label5
XApplication*label5.labelString: Max:

! XstfontSelAlphaMin

! XstfontSelAlphaMax

! label3
XApplication*label3.labelString: Text Alpha

! XstfontSelHLAFrame

! label2
XApplication*label2.labelString: Min:

! XstfontSelHLAMin

! label9
XApplication*label9.labelString: Max:

! XstfontSelHLAMax

! label23
XApplication*label23.labelString: HighLight Alpha

! XstfontSelULFrame

! label24
XApplication*label24.labelString: Max:

! scale6

! label25
XApplication*label25.labelString: Underline Alpha

! XstfontSelSTFrame

! label26
XApplication*label26.labelString: Max:

! scale9

! label27
XApplication*label27.labelString: StrikeThrough Alpha

! XstfontSelWFFrame

! label11
XApplication*label11.labelString: Increment:

! scale7

! label21
XApplication*label21.labelString: Number:

! scale8

! label22
XApplication*label22.labelString: Waterfall

! frame2

! drawingArea1


--- NEW FILE: xstshowfont_cb.c ---
/*
** Generated by WorkShop Visual
*/

/*
** WorkShop Visual-generated prelude.
** Do not edit lines before "End of WorkShop Visual generated prelude"
** Lines beginning ** WorkShop Visual Stub indicate a stub
** which will not be output on re-generation
*/

/*
**LIBS: -lXm -lXt -lX11
*/

#include <stdlib.h>
#include <X11/Xatom.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>

#include <Xm/Xm.h>
#include <Xm/CascadeB.h>
#include <Xm/DrawingA.h>
#include <Xm/PushB.h>
#include <Xm/Scale.h>
#include <Xm/TextF.h>
#include <Xm/ToggleB.h>
#include <Xm/PushBG.h>

#include "xstshowfont.h"
#include "xstshowfont_fp.h"



/* End of WorkShop Visual generated prelude */

#include "xstshowfont_funcs.h"

Widget last_font = NULL;

/*
** WorkShop Visual Stub XstfontShowExitPB_CB
*/

void XstfontShowExitPB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XstFontShowExit();
}

/*
** WorkShop Visual Stub XstfontShowAboutPB_CB
*/

void XstfontShowAboutPB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	extern Widget XstfontShowAboutMB;

	XtManageChild(XstfontShowAboutMB);
}

/*
** WorkShop Visual Stub XstfontShowAntiAliasedTB_CB
*/

void XstfontShowAntiAliasedTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XstFontShowOutputModeSet(GRAYSCALE);
}

/*
** WorkShop Visual Stub XstfontShowBoldTB_CB
*/

void XstfontShowBoldTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowFontSet(BOLD, call_data->set);
}

/*
** WorkShop Visual Stub XstfontShowItalicTB_CB
*/

void XstfontShowItalicTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowFontSet(ITALIC, call_data->set);
}

/*
** WorkShop Visual Stub XstfontShowCondensedTB_CB
*/

void XstfontShowCondensedTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowFontSet(CONDENSED, call_data->set);
}

/*
** WorkShop Visual Stub XstfontShowExtendedTB_CB
*/

void XstfontShowExtendedTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowFontSet(EXTENDED, call_data->set);
}

/*
** WorkShop Visual Stub XstfontShowExposeCB
*/

void XstfontShowExposeCB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmDrawingAreaCallbackStruct *call_data = (XmDrawingAreaCallbackStruct *) xt_call_data ;
	XstFontShowExpose(w, call_data);
}

/*
** WorkShop Visual Stub XstfontShowFeatureTB_CB
*/

void XstfontShowFeatureTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowFeature(client_data, call_data->set);
}

/*
** WorkShop Visual Stub XstfontShowFontPB_CB
*/

void XstfontShowFontPB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	if ( (int)client_data == 1000 || (int)client_data == 1001 )
	{
	    Widget next = XstFontShowFontSetNextPrev ((int)client_data);
	    if ( next != NULL && last_font != NULL )
	    {
		XmToggleButtonSetState ( last_font, FALSE, FALSE );
	        last_font = next;
	        XmToggleButtonSetState ( last_font, TRUE, FALSE );
	    }
	}
	else
	{
	    if ( call_data->set )
	    {
		XstFontShowFont((int)client_data);
		if ( last_font != NULL )
		    XmToggleButtonSetState ( last_font, FALSE, FALSE );
	    }
	    else if ( last_font == w )
		XmToggleButtonSetState ( last_font, TRUE, FALSE );

	    last_font = w;
	}
}

/*
** WorkShop Visual Stub XstFontShowSizePB_CB
*/

void XstFontShowSizePB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	double num = 0 + (int)client_data;
	XstFontShowSizeSet(num);
}

/*
** WorkShop Visual Stub XstfontShowScaleXText_CB
*/

void XstfontShowScaleXText_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	char *string;

	string = XmTextFieldGetString ( w );
	XstFontShowMatrixSet ( SCALEX, string );
	free ( string );
}

/*
** WorkShop Visual Stub XstfontShowFloatMV_CB
*/

void XstfontShowFloatMV_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmTextVerifyCallbackStruct *call_data = (XmTextVerifyCallbackStruct *) xt_call_data ;
	extern Widget XstfontShowShearX;
	extern Widget XstfontShowShearY;
	char *string;
	int   i;
	int   dots = 0;
	int   dash = 0;
	int   do_dash = 0;

	if ( w == XstfontShowShearX || w == XstfontShowShearY )
	    do_dash = 1;

	if ( call_data->text->ptr == NULL)
	    call_data->doit = TRUE;
	else
	{
	    for ( i = 0; i < call_data->text->length; i ++ )
		if ((( call_data->text->ptr[i] == '-' && ( i != 0 || call_data->newInsert != 0)) || 
		     ( call_data->text->ptr[i] == '-' && !do_dash )) &&
		    (( call_data->text->ptr[i] < '0' || call_data->text->ptr[i] > '9' ) && 
		       call_data->text->ptr[i] != '.' ))
		    call_data->doit = FALSE;
		else if ( call_data->text->ptr[i] == '.' )
		    dots++;
		else if ( call_data->text->ptr[i] == '-' )
		    dash++;

	    string = XmTextFieldGetString ( w );
	    for ( i = 0; i < call_data->startPos; i ++ )
		if ( string[i] == '.' )
		{
		    if ( ++dots > 1 )
			call_data->doit = FALSE;
		}
		else if ( string[i] == '-' )
		    if ( ++dash > 1 )
			call_data->doit = FALSE;
	    for ( i = call_data->endPos; i < strlen ( string ); i ++ )
		if ( string[i] == '.' )
		{
		    if ( ++dots > 1 )
			call_data->doit = FALSE;
		}
		else if ( string[i] == '-' )
		    if ( ++dash > 1 )
			call_data->doit = FALSE;
		    
	    free ( string );
	}
}

/*
** WorkShop Visual Stub XstfontShowScaleYText_CB
*/

void XstfontShowScaleYText_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	char *string;

	string = XmTextFieldGetString ( w );
	XstFontShowMatrixSet ( SCALEY, string );
	free ( string );
}

/*
** WorkShop Visual Stub XstfontShowShearXText_CB
*/

void XstfontShowShearXText_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	char *string;

	string = XmTextFieldGetString ( w );
	XstFontShowMatrixSet ( SHEARX, string );
	free ( string );
}

/*
** WorkShop Visual Stub XstfontShowShearYText_CB
*/

void XstfontShowShearYText_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	char *string;

	string = XmTextFieldGetString ( w );
	XstFontShowMatrixSet ( SHEARY, string );
	free ( string );
}

/*
** WorkShop Visual Stub XstfontShowResizeCB
*/

void XstfontShowResizeCB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmDrawingAreaCallbackStruct *call_data = (XmDrawingAreaCallbackStruct *) xt_call_data ;
	XstFontShowResize ( w, call_data );
}

/*
** WorkShop Visual Stub XstfontShowErrorOKPB_CB
*/

void XstfontShowErrorOKPB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XtUnmanageChild(XstfontShowErrorMB);
}

/*
** WorkShop Visual Stub XstfontShowAboutOKPB_CB
*/

void XstfontShowAboutOKPB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	extern Widget XstfontShowAboutMB;

	XtUnmanageChild(XstfontShowAboutMB);
}

/*
** WorkShop Visual Stub XstfontShowRotateScale_CB
*/

void XstfontShowRotateScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;

	XstFontShowRotate(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowFontC_CB
*/

void XstfontShowFontC_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	extern Widget XstfontShowFontMenu;

	XstFontShowAddFonts ( XstfontShowFontMenu );
}

/*
** WorkShop Visual Stub XstfontShowBWPB_CB
*/

void XstfontShowBWPB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XstFontShowOutputModeSet(B_W);
}

/*
** WorkShop Visual Stub XstfontShowAAPB_CB
*/

void XstfontShowAAPB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XstFontShowOutputModeSet(GRAYSCALE);
}

/*
** WorkShop Visual Stub XstfontShowLCDPB_CB
*/

void XstfontShowLCDPB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XstFontShowOutputModeSet(LCD);
}

/*
** WorkShop Visual Stub XstfontShowInputCB
*/

void XstfontShowInputCB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmDrawingAreaCallbackStruct *call_data = (XmDrawingAreaCallbackStruct *) xt_call_data ;
	int xPos = call_data->event->xbutton.x;
	int yPos = call_data->event->xbutton.y;

	XstFontShowInputButton ( call_data->event->type, xPos, yPos );
}

/*
** WorkShop Visual Stub XstfontShowQuickTB_CB
*/

void XstfontShowQuickTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowSetQuick ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowBoundsTB_CB
*/

void XstfontShowBoundsTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowShowBounds ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowAlphaMinScale_CB
*/

void XstfontShowAlphaMinScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;

	XstFontShowAlphaMin(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowAlphaMaxScale_CB
*/

void XstfontShowAlphaMaxScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;

	XstFontShowAlphaMax(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowKerningTB_CB
*/

void XstfontShowKerningTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowKerning ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowCrossKerningTB_CB
*/

void XstfontShowCrossKerningTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowCrossKerning ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowScalerSbitsTB_CB
*/

void XstFontShowScalerSbitsTB_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowScalerSbits ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowScalerHintTB_CB
*/

void XstFontShowScalerHintTB_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowScalerHint ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowScalerAutoHintTB_CB
*/

void XstFontShowScalerAutoHintTB_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowScalerAutoHint ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowScalerAutoHintTB_CB
*/

void XstFontShowSizeScale_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	void XstFontShowSizeSet(double);
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;
	XstFontShowSizeSet(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowWaterfallTB_CB
*/

void XstfontShowWaterfallTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowWaterfall ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowIncrementScale_CB
*/

void XstfontShowIncrementScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	void XstFontShowIncrement(double);
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;
	XstFontShowIncrement(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowNumberScale_CB
*/

void XstfontShowNumberScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;
	XstFontShowNumber((int)call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowHLAlphaMinScale_CB
*/

void XstfontShowHLAlphaMinScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;

	XstFontShowHLAlphaMin(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowHLAlphaMaxScale_CB
*/

void XstfontShowHLAlphaMaxScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;

	XstFontShowHLAlphaMax(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowULThickTB_CB
*/

void XstfontShowULThickTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowULThick ( (int)client_data, call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowULDoubleTB_CB
*/

void XstfontShowULDoubleTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowULDouble ( (int)client_data, call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowULTB_CB
*/

void XstfontShowULTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	static Widget old = NULL;
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;

	if ( old != NULL && old != w )
	{
	    XmToggleButtonSetState ( old, FALSE, FALSE );
	}
	old = w;

	XstFontShowUL ( (int)client_data, 1, call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowULTB_CB
*/

void XstfontShowUL2TB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	static Widget old = NULL;
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;

	if ( old != NULL && old != w )
	{
	    XmToggleButtonSetState ( old, FALSE, FALSE );
	}
	old = w;

	XstFontShowUL ( (int)client_data, 2, call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowULThickTB_CB
*/

void XstfontShowHighlightTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowHighlight ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowULTB_CB
*/

void XstfontShowSTTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	static Widget old = NULL;
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;

	if ( old != NULL && old != w )
	    XmToggleButtonSetState ( old, FALSE, FALSE );
	old = w;

	XstFontShowST ( (int)client_data, call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowULThickTB_CB
*/

void XstfontShowSTThickTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;
	XstFontShowSTThick ( call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowHLAlphaMaxScale_CB
*/

void XstfontShowULAlphaMaxScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;

	XstFontShowULAlphaMax(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowSTAlphaMaxScale_CB
*/

void XstfontShowSTAlphaMaxScale_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmScaleCallbackStruct *call_data = (XmScaleCallbackStruct *) xt_call_data ;

	XstFontShowSTAlphaMax(call_data->value);
}

/*
** WorkShop Visual Stub XstfontShowFweightTB_cb
*/

void XstFontShowFweightTB_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;

	XstFontShowFamily ( 1, w, client_data, call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowFwidthTB_cb
*/

void XstFontShowFwidthTB_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;

	XstFontShowFamily ( 2, w, client_data, call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowFstyleTB_cb
*/

void XstFontShowFstyleTB_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;

	XstFontShowFamily ( 3, w, client_data, call_data->set );
}

/*
** WorkShop Visual Stub XstfontShowColorPB_cb
*/

void XstFontShowColorPB_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	extern Widget XstfontShowColorForm;

	XtManageChild ( XstfontShowColorForm );
}

/*
** WorkShop Visual Stub XstfontShowTextPB_cb
*/

void XstFontShowTextPB_cb(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	extern Widget XstfontShowTextForm;

	XtManageChild ( XstfontShowTextForm );
}

/*
** WorkShop Visual Stub XstfontShowFractionalMetricsPB_cb
*/

void XstfontShowFractionalMetricsTB_CB(Widget w, XtPointer client_data, XtPointer xt_call_data)
{
	XmToggleButtonCallbackStruct *call_data = (XmToggleButtonCallbackStruct *) xt_call_data ;

	XstFontShowFractionalMetrics ( w, client_data, call_data->set );
}

--- NEW FILE: xstshowfont_color.c ---
#include <stdlib.h>
#include <X11/Xatom.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>

#include <Xm/Xm.h>
#include <Xm/CascadeB.h>
#include <Xm/DrawingA.h>
#include <Xm/PushB.h>
#include <Xm/Scale.h>
#include <Xm/TextF.h>
#include <Xm/ToggleB.h>
#include <Xm/PushBG.h>

#include "xstshowfont.h"
#include "xstshowfont_funcs.h"
#include "xstshowfont_fp.h"

extern XstFontShowGlobal gl;

static int               color  = 0;
static Window            window = 0;
static GC                gc;
static XWindowAttributes att;
static uint32_t          ncolor;

void XstFontShowSCchangeGC()
{
    XGCValues myXGCV;

    myXGCV.foreground = ncolor;

    XChangeGC ( gl.dpy, gc, GCForeground, &myXGCV );
}

void XstFontShowSCupdate()
{
    XFillRectangle ( gl.dpy, window, gc, 0, 0, att.width, att.height );
}

void XstFontShowSCsetColors()
{
    extern Widget XstfontShowColorRed;
    extern Widget XstfontShowColorGreen;
    extern Widget XstfontShowColorBlue;
    int    red;
    int    green;
    int    blue;

    if ( att.visual->red_mask != 255 )
	red = ( ncolor & 0x00FF0000 ) >> 16;
    else
	red = ( ncolor & 0x000000FF );

    green = ( ncolor & 0x0000FF00 ) >> 8;

    if ( att.visual->red_mask != 255 )
        blue = ( ncolor & 0x000000FF );
    else
	blue = ( ncolor & 0x00FF0000 ) >> 16;

    XmScaleSetValue ( XstfontShowColorRed,   red ); 
    XmScaleSetValue ( XstfontShowColorGreen, green ); 
    XmScaleSetValue ( XstfontShowColorBlue,  blue ); 
}

void XstFontShowSCcolorPB_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    color = (int) client_data - 1;

    ncolor = gl.colors[color];

    XstFontShowSCsetColors();
    XstFontShowSCchangeGC();
    XstFontShowSCupdate();
}

void XstFontShowSCredScale_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    XmScaleCallbackStruct *cb_data = (XmScaleCallbackStruct *) call_data ;

    if ( att.visual->red_mask != 255 )
	ncolor = ( ncolor & 0x0000FFFF ) | ( cb_data->value << 16 );
    else
	ncolor = ( ncolor & 0x00FFFF00 ) | cb_data->value;

    XstFontShowSCchangeGC();
    XstFontShowSCupdate();
}

void XstFontShowSCgreenScale_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    XmScaleCallbackStruct *cb_data = (XmScaleCallbackStruct *) call_data ;

    ncolor = ( ncolor & 0x00FF00FF ) | ( cb_data->value << 8 );

    XstFontShowSCchangeGC();
    XstFontShowSCupdate();
}

void XstFontShowSCblueScale_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    XmScaleCallbackStruct *cb_data = (XmScaleCallbackStruct *) call_data ;

    if ( att.visual->red_mask != 255 )
        ncolor = ( ncolor & 0x00FFFF00 ) | cb_data->value;
    else
        ncolor = ( ncolor & 0x0000FFFF ) | ( cb_data->value << 16 );

    XstFontShowSCchangeGC();
    XstFontShowSCupdate();
}

void XstFontShowSCresizeDA_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    if ( window != 0 )
    {
	XGetWindowAttributes ( gl.dpy, window, &att );
	XstFontShowSCupdate();
    }
}

void XstFontShowSCexposeDA_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    if ( window == 0 )
    {
	XtGCMask  valuemask;
	XGCValues myXGCV;

	window = XtWindow ( w );

	valuemask = GCForeground | GCBackground;
	myXGCV.foreground = gl.colors[0];
	myXGCV.background = BlackPixelOfScreen ( XtScreen ( w ));

	ncolor = gl.colors[0];

	gc = XCreateGC ( gl.dpy, window, valuemask, &myXGCV );

	XGetWindowAttributes ( gl.dpy, window, &att );

        XstFontShowSCsetColors();
    }

    XstFontShowSCupdate();
}

void XstFontShowSCapplyPB_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    extern void XstFontShowUpdateWindow();
    gl.colors[color] = ncolor;

    if ( color != 0 )
    {
	XSTGCSetColors ( gl.dpy, gl.BWgc, ST_GM_COLOR_HLTEXT | ST_GM_COLOR_UL1 |
                         ST_GM_COLOR_HLBG | ST_GM_COLOR_ST, gl.colors );
	XSTGCSetColors ( gl.dpy, gl.Agc32, ST_GM_COLOR_HLTEXT | ST_GM_COLOR_UL1 |
                         ST_GM_COLOR_HLBG | ST_GM_COLOR_ST, gl.colors );
    }
    else
    {
	XGCValues myXGCV;

	myXGCV.foreground = ncolor;

	XChangeGC ( gl.dpy, gl.BWgc, GCForeground, &myXGCV );
	XChangeGC ( gl.dpy, gl.Agc32, GCForeground, &myXGCV );
    }

    gl.func = ALPHA;
    XstFontShowUpdateWindow();
}

void XstFontShowSCcancelPB_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    extern Widget XstfontShowColorForm;

    XtUnmanageChild ( XstfontShowColorForm );
}

--- NEW FILE: xstshowfont_fp.h ---
extern void XstFontShowExit();
extern void XstFontShowOutputModeSet(int);
extern void XstFontShowFontSet(int, int);
extern void XstFontShowExpose(Widget, XmDrawingAreaCallbackStruct *);
extern void XstFontShowFeature(int *, int);
extern Widget XstFontShowFontSetNextPrev(int);
extern void XstFontShowFont(int);
extern void XstFontShowSizeSet(double);
extern void XstFontShowMatrixSet(int, char *);
extern void XstFontShowResize(Widget, XmDrawingAreaCallbackStruct *);
extern void XstFontShowRotate(int);
extern void XstFontShowInputButton(int, int, int);
extern void XstFontShowSetQuick(int);
extern void XstFontShowShowBounds(int);
extern void XstFontShowAlphaMin(int);
extern void XstFontShowAlphaMax(int);
extern void XstFontShowKerning(int);
extern void XstFontShowCrossKerning(int);
extern void XstFontShowScalerSbits(int);
extern void XstFontShowScalerHint(int);
extern void XstFontShowScalerAutoHint(int);
extern void XstFontShowWaterfall(int);
extern void XstFontShowNumber(int);
extern void XstFontShowHighlight(int);
extern void XstFontShowUL(int, int, int);
extern void XstFontShowULThick(int, int);
extern void XstFontShowULDouble(int, int);
extern void XstFontShowHLAlphaMax(int);
extern void XstFontShowHLAlphaMin(int);
extern void XstFontShowST(int, int);
extern void XstFontShowSTThick(int);
extern void XstFontShowULAlphaMax(int);
extern void XstFontShowSTAlphaMax(int);
extern void XstFontShowFamily(int, Widget, XtPointer, int);

--- NEW FILE: xstshowfont_funcs.c ---
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <sys/types.h>
#include <unistd.h>
#include <time.h>

#include <X11/Xatom.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>

#include <Xm/Xm.h>
#include <Xm/CascadeB.h>
#include <Xm/DialogS.h>
#include <Xm/DrawingA.h>
#include <Xm/Form.h>
#include <Xm/Frame.h>
#include <Xm/Label.h>
#include <Xm/PushB.h>
[...4116 lines suppressed...]
    }

    /*
     * Set the new font that was found
     */
    if ( font != -1 )
    {
	XmToggleButtonSetState ( family->fonts[font].fontbutton, TRUE, TRUE );
    }
}

void XstFontShowFractionalMetrics(Widget w, int button, int set)
{
    if ( button == 1 )
        gl.fractional = set;
    else
	gl.fractional_d = set;

    XstFontShowOutputModeSet(gl.aa + B_W);
}

--- NEW FILE: xstshowfont_funcs.h ---
#define	BOLD		1
#define ITALIC		2
#define CONDENSED	3
#define EXTENDED	4
#define ROTATE		5
#define SCALEX		6
#define SCALEY		7
#define SHEARX		8
#define SHEARY		9
#define TRANSLATE	10
#define B_W		11
#define GRAYSCALE	12
#define LCD		13
#define FONT		14
#define ALPHA		15
#define FEATURE		16
#define QUICK		17
#define SIZE		18
#define BOUNDS		19
#define KERNING		20
#define SCALER		21
#define WATERFALL	22

--- NEW FILE: xstshowfont_main.c ---
/*
** Generated by WorkShop Visual
*/
/*
**LIBS: -lXm -lXt -lX11
*/

#include <stdio.h>
#include <stdlib.h>
#include <libintl.h>
#include <X11/Xatom.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>

#include <Xm/Xm.h>
#include <Xm/RepType.h>
#include <Xm/CascadeB.h>
#include <Xm/DialogS.h>
#include <Xm/DrawingA.h>
#include <Xm/Form.h>
#include <Xm/Frame.h>
#include <Xm/Label.h>
#include <Xm/MessageB.h>
#include <Xm/PushB.h>
#include <Xm/RowColumn.h>
#include <Xm/Scale.h>
#include <Xm/TextF.h>
#include <Xm/ToggleB.h>
#include <Xm/CascadeBG.h>
#include <Xm/LabelG.h>
#include <Xm/PushBG.h>
#include <Xm/SeparatoG.h>

#include <X11/Xst/Xst.h>

#include "xstshowfont.h"

extern void XstfontShowErrorOKPB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowAboutOKPB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowExitPB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowFontPB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowAboutPB_CB(Widget, XtPointer, XtPointer) ;
extern void XstFontShowSizePB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowFloatMV_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowScaleXText_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowScaleYText_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowShearXText_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowShearYText_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowRotateScale_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowAntiAliasedTB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowBoldTB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowItalicTB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowCondensedTB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowExtendedTB_CB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowResizeCB(Widget, XtPointer, XtPointer) ;
extern void XstfontShowExposeCB(Widget, XtPointer, XtPointer) ;


/* Global Declarations */

XtAppContext app_context = (XtAppContext) 0 ;
Display     *display     = (Display *)    0 ;

char  *user_font;
utf8  *user_string;
double max_alpha = 1.0;
double min_alpha = 0.0;
int    use_white = 0;
char  *user_bg_pixmap = NULL;

int main(int argc, char **argv)
{
	char *domaindir;
	int   i;

	/* Enable Localisation of the Application */

	XtSetLanguageProc((XtAppContext) 0, (XtLanguageProc) 0, (XtPointer) 0) ;

	/* Initialise the X Toolkit */

	XtToolkitInitialize ();

	/* Create a Global Application Context */

	app_context = XtCreateApplicationContext ();

	textdomain ( "xstshowfont" );

	if ( domaindir = getenv ( "TEXTDOMAINDIR" ))
	{
	    bindtextdomain ( "xstshowfont", domaindir );
	}

	for ( i = 0; i < argc; i++ )
	{
	    if ( !strcmp( argv[i], "-xstfont" ))
		user_font = argv[++i];
	    else if ( !strcmp( argv[i], "-string" ))
		user_string = (utf8 *)argv[++i];
	    else if ( !strcmp( argv[i], "-fga" ))
		sscanf( argv[++i], "%lf", &max_alpha );
	    else if ( !strcmp( argv[i], "-bga" ))
		sscanf( argv[++i], "%lf", &min_alpha );
	    else if ( !strcmp( argv[i], "-bgpixmap" ))
		user_bg_pixmap = argv[++i];
	    else if ( !strcmp( argv[i], "-bw" ))
		use_white = 1;
	}

	/* Open the Display */

	display = XtOpenDisplay(app_context, (String) 0, argv[0], "Xstshowfont",
	                       (XrmOptionDescRec *) 0, 0,
	                       &argc, argv);
	if (display == (Display *) 0) {
		printf ( gettext ( "%s: can't open display, exiting...\n" ), 
			 argv[0] );
		exit (-1);
	}

	/* This converter is not registered internally by Motif */

	XmRepTypeInstallTearOffModelConverter();

	/* Call the Create Procedures for the Dialogs in the Application */

	create_XstfontShowMainShell ( display, argv[0], argc, argv );
	create_XstfontShowErrorShell ( XstfontShowMainShell );
	create_XstfontShowAboutShell ( XstfontShowMainShell );
	create_XstfontShowColorShell ( XstfontShowMainShell );
	create_XstfontShowTextShell  ( XstfontShowMainShell );

	/* Display the Primary Application Shell */

	XtRealizeWidget (XstfontShowMainShell);

	/* Entering X Main Loop... */

	XtAppMainLoop (app_context);

	/* NOTREACHED */

	exit (0);

	return ( 0 );
}


--- NEW FILE: xstshowfont_tags.h ---
char *OTFeatureTagNames[] = {
	"Access All Alternatives",
	"Above-base Mark Positioning",
	"Above-base Substitutions",
	"Alternative Fractions",
	"Akhands",
	"Below-base Forms",
	"Below-base Mark Positioning",
	"Below-base Substitutions",
	"Connection Forms",
	"Case-Sensitive Forms",
	"Glyph Composition / Decomposition",
	"Contextual Ligatures",
	"Capital Spacing",
	"Contextual Swash",
	"Cursive Positioning",
	"Small Capitals From Capitals",
	"Distances",
	"Discretionary Ligatures",
	"Denominators",
	"Expert Forms",
	"Final Glyph on Line Alternates",
	"Terminal Forms #2",
	"Terminal Forms #3",
	"Terminal Forms",
	"Fractions",
	"Full Widths",
	"Half Forms",
	"Halant Forms",
	"Alternate Half Widths",
	"Historical Forms",
	"Horizontal Kana Alternates",
	"Historical Ligatures",
	"Hangul",
	"Half Widths",
	"Initial Forms",
	"Isolated Forms",
	"Italics",
	"Justification Alternates",
	"JIS78 Forms",
	"JIS83 Forms",
	"JIS90 Forms",
	"Kerning",
	"Left Bounds",
	"Standard Ligatures",
	"Lining Figures",
	"Localized Forms",
	"Mark Positioning",
	"Medial Forms #2",
	"Medial Forms",
	"Mathematical Greek",
	"Mark to Mark Positioning",
	"Mark Positioning via Substitution",
	"Alternate Annotation Forms",
	"Nukta Forms",
	"Numerators",
	"Oldstyle Figures",
	"Optical Bounds",
	"Ordinals",
	"Ornaments",
	"Proportional Alternate Widths",
	"Proportional Figures",
	"Pre-base Substitutions",
	"Post-base Forms",
	"Post-base Substitutions",
	"Proportional Widths",
	"Quarter Widths",
	"Randomize",
	"Required Ligatures",
	"Reph Forms",
	"Right Bounds",
	"Ruby Notation Forms",
	"Stylistic Alternates",
	"Scientific Inferiors",
	"Optical size",
	"Small Capitals",
	"Simplified Forms",
	"Subscript",
	"Superscript",
	"Swash",
	"Titling",
	"Traditional Name Forms",
	"Tabular Figures",
	"Traditional Forms",
	"Third Widths",
	"Alternate Vertical Metrics",
	"Vattu Variants",
	"Vertical Writing",
	"Alternate Vertical Half Metrics",
	"Vertical Kana Alternates",
	"Vertical Kerning",
	"Proportional Alternate Vertical Metrics",
	"Vertical Alternates and Rotation",
	"Slashed Zero"
	};

char *GXFeatureTagNames[] = {
	"All Type Features On",
	"All Type Features Off",
	"Ligatures Required On",
	"Ligatures Required Off",
	"Ligatures Common On",
	"Ligatures Common Off",
	"Ligatures Rare On",
	"Ligatures Rare Off",
	"Ligatures Logos On",
	"Ligatures Logos Off",
	"Ligatures Rebus On",
	"Ligatures Rebus Off",
	"Ligatures Diphtong On",
	"Ligatures Diphtong Off",
	"Ligatures Squared On",
	"Ligatures Squared Off",
	"Ligatures Abbrev Squared On",
	"Ligatures Abbrev Squared Off",
	"Cursive Connection Unconnected",
	"Cursive Connection Partially Connected",
	"Cursive Connection Connected",
	"Letter Case Upper And Lower",
	"Letter Case All Caps",
	"Letter Case All Lower Case",
	"Letter Case Small Caps",
	"Letter Case Initial Caps",
	"Letter Case Initial Caps And Small Caps",
	"Vertical Substitution On",
	"Vertical Substitution Off",
	"Linguistic Rearrangement On",
	"Linguistic Rearrangement Off",
	"Number Spacing Monospace",
	"Number Spacing Proportional",
	"Smart Swash Word Initial On",
	"Smart Swash Word Initial Off",
	"Smart Swash Word Final On",
	"Smart Swash Word Final Off",
	"Smart Swash Line Initial On",
	"Smart Swash Line Initial Off",
	"Smart Swash Line Final On",
	"Smart Swash Line Final Off",
	"Smart Swash Non Final On",
	"Smart Swash Non Final Off",
	"Diacritics Show",
	"Diacritics Hide",
	"Diacritics Decompose",
	"Vertical Position Normal",
	"Vertical Position Superiors",
	"Vertical Position Inferiors",
	"Vertical Position Ordinals",
	"Fractions No Fractions",
	"Fractions Vertical",
	"Fractions Diagonal",
	"Overlapping Characters Prevent On",
	"Overlapping Characters Prevent Off",
	"Typo Extras Hyphens To Em Dash On",
	"Typo Extras Hyphens To Em Dash Off",
	"Typo Extras Hyphen To En Dash On",
	"Typo Extras Hyphen To En Dash Off",
	"Typo Extras Unslashed Zero On",
	"Typo Extras Unslashed Zero Off",
	"Typo Extras Form Interrobang On",
	"Typo Extras Form Interrobang Off",
	"Typo Extras Smart Quotes On",
	"Typo Extras Smart Quotes Off",
	"Typo Extras Periods To Ellipsis On",
	"Typo Extras Periods To Ellipsis Off",
	"Math Extras Hyphen To Minus On",
	"Math Extras Hyphen To Minus Off",
	"Math Extras Asterisk To Multiply On",
	"Math Extras Asterisk To Multiply Off",
	"Math Extras Slash To Divide On",
	"Math Extras Slash To Divide Off",
	"Math Extras Inequality Ligatures On",
	"Math Extras Inequality Ligatures Off",
	"Math Extras Exponents On",
	"Math Extras Exponents Off",
	"Ornament Sets No Ornament",
	"Ornament Sets Dingbats",
	"Ornament Sets Pi Characters",
	"Ornament Sets Fleurons",
	"Ornament Sets Decorative Borders",
	"Ornament Sets International Symbols",
	"Ornament Sets Math Symbols",
	"Character Alternates Off",
	"Design Complexity Level 1",
	"Design Complexity Level 2",
	"Design Complexity Level 3",
	"Design Complexity Level 4",
	"Design Complexity Level 5",
	"Style Options No Options",
	"Style Options Display Text",
	"Style Options Engraved Text",
	"Style Options Illuminated Text",
	"Style Options Titling Caps",
	"Style Options Tall Caps",
	"Character Shape Traditional",
	"Character Shape Simplified",
	"Character Shape JIS1978",
	"Character Shape JIS1983",
	"Character Shape JIS1990",
	"Character Shape Traditional Alt One",
	"Character Shape Traditional Alt Two",
	"Character Shape Traditional Alt Three",
	"Character Shape Traditional Alt Four",
	"Character Shape Traditional Alt Five",
	"Character Shape Expert",
	"Number Case Lower",
	"Number Case Upper",
	"Text Spacing Proportional",
	"Text Spacing Monospaced",
	"Text Spacing Half Width",
	"Text Spacing Normally Spaced",
	"Transliteration No Transliteration",
	"Transliteration Hanja To Hangul",
	"Transliteration Hiragana To Katakana",
	"Transliteration Katakana To Hiragana",
	"Transliteration Kana To Romanization",
	"Transliteration Romanization To Hiragana",
	"Transliteration Romanization To Katakana",
	"Transliteration Hanja To Hangul Alt One",
	"Transliteration Hanja To Hangul Alt Two",
	"Transliteration Hanja To Hangul Alt Three",
	"Annotation No Annotation",
	"Annotation Box Annotaion",
	"Annotation Rounded Annotation",
	"Annotation Circle Annotation",
	"Annotation Inverted Annotation",
	"Annotation Parenthesis Annotation",
	"Annotation Period Annotation",
	"Annotation Roman Numeral",
	"Annotation Diamond Annotation",
	"Kana Spacing Full Width",
	"Kana Spacing Proportional",
	"Ideographic Spacing Full Width",
	"Ideographic Spacing Proportional",
	"CJK Roman Spacing Half Width",
	"CJK Roman Spacing Proportional",
	"CJK Roman Spacing Default",
	"CJK Roman Spacing Full Width"
	};

--- NEW FILE: xstshowfont_text.c ---
#include <stdlib.h>
#include <X11/Xatom.h>
#include <X11/Intrinsic.h>
#include <X11/Shell.h>

#include <Xm/Xm.h>
#include <Xm/CascadeB.h>
#include <Xm/DrawingA.h>
#include <Xm/PushB.h>
#include <Xm/Scale.h>
#include <Xm/Text.h>
#include <Xm/ToggleB.h>
#include <Xm/PushBG.h>

#include "xstshowfont.h"
#include "xstshowfont_funcs.h"
#include "xstshowfont_fp.h"

extern XstFontShowGlobal gl;

void XstFontShowCTapplyPB_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    extern void   XstFontShowUpdateWindow ();
    extern Widget XstfontShowTextText;
    utf8  *str;
    int    i;
    int    len;

    str = (utf8 *)XmTextGetString ( XstfontShowTextText );

    len = XSTStringLength ( (char *)str, XST_ENCODING_UTF8 );
    gl.numchars = XSTStringCountCharacters ( (char *)str, len, XST_ENCODING_UTF8 );
    XSTTextSetText ( gl.dpy, gl.gText, (XSTString *)str, gl.numchars, NULL );

    XSTTextSetStyle ( gl.dpy, gl.gText, gl.gStyle, 0, gl.numchars );

    gl.string = (char *)str;

    for ( i = 0; i < gl.gLineNum; i++ )
    {
	XSTLineDispose ( gl.dpy, gl.gLine[i] );
    }

    XstFontShowCreateLines ();

    XstFontShowUpdateWindow();
}

void XstFontShowCTcancelPB_cb(Widget w, XtPointer client_data, XtPointer call_data)
{
    extern Widget XstfontShowTextForm;

    XtUnmanageChild ( XstfontShowTextForm );
}

--- NEW FILE: xstshowfont_xpm.h ---
#include <X11/xpm.h>

static char *rotate_xpm[]={
"24 27 3 1",
"  c white",
". c black",
"O c #ffff00000000",
"                        ",
"           O            ",
"          OOO           ",
"           O            ",
"                        ",
"         .....          ",
"       ..     ..        ",
"      .         .       ",
"     .           .      ",
"    .             .     ",
"    .             .     ",
"   .               .    ",
"   .               .    ",
"   .             . . .  ",
"   .              ...   ",
"   .               .    ",
"    .                   ",
"    .                   ",
"     .                  ",
"      .    .            ",
"       ..   .           ",
"         .....          ",
"            .           ",
"           .            ",
"                        ",
"          OOO           ",
"                        "
};

static char *scalex_xpm[]={
"30 16 4 1",
"  c white",
". c black",
"O c #ffff00000000",
"a c #800080008000",
"                              ",
"    ......................    ",
"    .         a          .    ",
"    .         a          .    ",
"    .         a          .    ",
"    .         a      O   .    ",
"    .         a       O  .  O ",
"OOO .         a OOOOOOOO . OOO",
"    .         a       O  .  O ",
"    .         a      O   .    ",
"    .         a          .    ",
"    .         a          .    ",
"    .         a          .    ",
"    ......................    ",
"                              ",
"                              "
};

static char *scaley_xpm[]={
"16 28 4 1",
"  c white",
". c black",
"O c #ffff00000000",
"a c #800080008000",
"      OOO       ",
"                ",
" .............  ",
" .           .  ",
" .     O     .  ",
" .    OOO    .  ",
" .   O O O   .  ",
" .     O     .  ",
" .     O     .  ",
" .     O     .  ",
" .     O     .  ",
" .     O     .  ",
" .           .  ",
" .aaaaaaaaaaa.  ",
" .           .  ",
" .           .  ",
" .           .  ",
" .           .  ",
" .           .  ",
" .           .  ",
" .           .  ",
" .           .  ",
" .           .  ",
" .............  ",
"                ",
"       O        ",
"      OOO       ",
"       O        "
};

static char *shearx_xpm[]={
"28 16 4 1",
"  c white",
". c black",
"O c #ffff00000000",
"a c #800080008000",
"                            ",
"       O                    ",
"        O                   ",
"    OOOOOO aa.............  ",
"        O   .           .   ",
"    a  O   .           .    ",
"    a     .           .   O ",
"OOO a    .           .   OOO",
"    a   .           .     O ",
"    a  .           .        ",
"    a .           .         ",
"    a.           .          ",
"    .............           ",
"                            ",
"                            ",
"                            "
};

static char *sheary_xpm[]={
"16 27 4 1",
"  c white",
". c black",
"O c #ffff00000000",
"a c #800080008000",
"                ",
"      OOO   .   ",
"           ..   ",
"          . .   ",
"         .  .   ",
"        .   .   ",
"       .    .   ",
"      .     .   ",
"     .      .   ",
"    .       .   ",
"   .        .   ",
"   .        .   ",
"   .        .   ",
"   .        .   ",
"   .       .a   ",
"   .      . a   ",
"   .     .      ",
"   .    .   O   ",
"   .   .   OOO  ",
"   .  .   O O O ",
"   . .      O   ",
"   ..       O   ",
"   .aaaaaaa O   ",
"                ",
"       O        ",
"      OOO       ",
"       O        "
};

static char *trans_xpm[]={
"24 24 3 1",
"  c white",
". c black",
"O c #ffff00000000",
"                        ",
"                        ",
"                    .   ",
"                   . .  ",
"                    .   ",
"               OOOO     ",
"                 OO     ",
"                O O     ",
"               O  O     ",
"              O         ",
"             O          ",
"            O           ",
"           O            ",
"          O             ",
"         O              ",
"        O               ",
"       O                ",
"      O                 ",
"     O                  ",
"   .                    ",
"  . .                   ",
"   .                    ",
"                        ",
"                        "
};





More information about the xorg-commit-diffs mailing list