aboutsummaryrefslogtreecommitdiffstats
path: root/doc/user/bas_font
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/bas_font')
-rw-r--r--doc/user/bas_font629
1 files changed, 629 insertions, 0 deletions
diff --git a/doc/user/bas_font b/doc/user/bas_font
new file mode 100644
index 0000000..65d711e
--- /dev/null
+++ b/doc/user/bas_font
@@ -0,0 +1,629 @@
+@Section
+ @Title { Fonts and font sizes }
+ @Tag { fonts }
+@Begin
+@PP
+A @I font is a collection of characters that may be printed. For
+font. @Index { font }
+example, here is the Times Roman font:
+@ID @OneRow { Times Base } @Font 0.05c @Space {
+{ @Char space }
+{ @Char exclam }
+{ @Char quotedbl }
+{ @Char numbersign }
+{ @Char dollar }
+{ @Char percent }
+{ @Char ampersand }
+{ @Char quoteright }
+{ @Char parenleft }
+{ @Char parenright }
+{ @Char asterisk }
+{ @Char plus }
+{ @Char comma }
+{ @Char hyphen }
+{ @Char period }
+{ @Char slash }
+{ @Char zero }
+{ @Char one }
+{ @Char two }
+{ @Char three }
+{ @Char four }
+{ @Char five }
+{ @Char six }
+{ @Char seven }
+{ @Char eight }
+{ @Char nine }
+{ @Char colon }
+{ @Char semicolon }
+{ @Char less }
+{ @Char equal }
+{ @Char greater }
+{ @Char question }
+{ @Char at }
+{ @Char bracketleft }
+{ @Char backslash }
+{ @Char bracketright }
+{ @Char asciicircum }
+{ @Char underscore }
+{ @Char quoteleft }
+//1vx
+{ @Char A }
+{ @Char B }
+{ @Char C }
+{ @Char D }
+{ @Char E }
+{ @Char F }
+{ @Char G }
+{ @Char H }
+{ @Char I }
+{ @Char J }
+{ @Char K }
+{ @Char L }
+{ @Char M }
+{ @Char N }
+{ @Char O }
+{ @Char P }
+{ @Char Q }
+{ @Char R }
+{ @Char S }
+{ @Char T }
+{ @Char U }
+{ @Char V }
+{ @Char W }
+{ @Char X }
+{ @Char Y }
+{ @Char Z }
+//1vx
+{ @Char a }
+{ @Char b }
+{ @Char c }
+{ @Char d }
+{ @Char e }
+{ @Char f }
+{ @Char g }
+{ @Char h }
+{ @Char i }
+{ @Char j }
+{ @Char k }
+{ @Char l }
+{ @Char m }
+{ @Char n }
+{ @Char o }
+{ @Char p }
+{ @Char q }
+{ @Char r }
+{ @Char s }
+{ @Char t }
+{ @Char u }
+{ @Char v }
+{ @Char w }
+{ @Char x }
+{ @Char y }
+{ @Char z }
+//1vx
+{ @Char braceleft }
+{ @Char bar }
+{ @Char braceright }
+{ @Char asciitilde }
+{ @Char dotlessi }
+{ @Char grave }
+{ @Char acute }
+{ @Char circumflex }
+{ @Char tilde }
+{ @Char macron }
+{ @Char breve }
+{ @Char dotaccent }
+{ @Char dieresis }
+{ @Char ring }
+{ @Char cedilla }
+{ @Char hungarumlaut }
+{ @Char ogonek }
+{ @Char caron }
+{ @Char space }
+{ @Char exclamdown }
+{ @Char cent }
+{ @Char sterling }
+{ @Char currency }
+{ @Char yen }
+{ @Char brokenbar }
+{ @Char section }
+{ @Char dieresis }
+{ @Char copyright }
+{ @Char ordfeminine }
+{ @Char guillemotleft }
+{ @Char logicalnot }
+{ @Char hyphen }
+{ @Char registered }
+{ @Char macron }
+{ @Char degree }
+{ @Char plusminus }
+{ @Char twosuperior }
+{ @Char threesuperior }
+{ @Char acute }
+{ @Char mu }
+{ @Char paragraph }
+{ @Char periodcentered }
+{ @Char cedilla }
+{ @Char onesuperior }
+{ @Char ordmasculine }
+{ @Char guillemotright }
+{ @Char onequarter }
+{ @Char onehalf }
+{ @Char threequarters }
+{ @Char questiondown }
+//1vx
+{ @Char Agrave }
+{ @Char Aacute }
+{ @Char Acircumflex }
+{ @Char Atilde }
+{ @Char Adieresis }
+{ @Char Aring }
+{ @Char AE }
+{ @Char Ccedilla }
+{ @Char Egrave }
+{ @Char Eacute }
+{ @Char Ecircumflex }
+{ @Char Edieresis }
+{ @Char Igrave }
+{ @Char Iacute }
+{ @Char Icircumflex }
+{ @Char Idieresis }
+{ @Char Eth }
+{ @Char Ntilde }
+{ @Char Ograve }
+{ @Char Oacute }
+{ @Char Ocircumflex }
+{ @Char Otilde }
+{ @Char Odieresis }
+{ @Char multiply }
+{ @Char Oslash }
+{ @Char Ugrave }
+{ @Char Uacute }
+{ @Char Ucircumflex }
+{ @Char Udieresis }
+{ @Char Yacute }
+{ @Char Thorn }
+//1vx
+{ @Char germandbls }
+{ @Char agrave }
+{ @Char aacute }
+{ @Char acircumflex }
+{ @Char atilde }
+{ @Char adieresis }
+{ @Char aring }
+{ @Char ae }
+{ @Char ccedilla }
+{ @Char egrave }
+{ @Char eacute }
+{ @Char ecircumflex }
+{ @Char edieresis }
+{ @Char igrave }
+{ @Char iacute }
+{ @Char icircumflex }
+{ @Char idieresis }
+{ @Char eth }
+{ @Char ntilde }
+{ @Char ograve }
+{ @Char oacute }
+{ @Char ocircumflex }
+{ @Char otilde }
+{ @Char odieresis }
+{ @Char divide }
+{ @Char oslash }
+{ @Char ugrave }
+{ @Char uacute }
+{ @Char ucircumflex }
+{ @Char udieresis }
+{ @Char yacute }
+{ @Char thorn }
+{ @Char ydieresis }
+}
+and here is the Times Italic font:
+@ID @OneRow { Times Slope } @Font 0.05c @Space {
+{ @Char space }
+{ @Char exclam }
+{ @Char quotedbl }
+{ @Char numbersign }
+{ @Char dollar }
+{ @Char percent }
+{ @Char ampersand }
+{ @Char quoteright }
+{ @Char parenleft }
+{ @Char parenright }
+{ @Char asterisk }
+{ @Char plus }
+{ @Char comma }
+{ @Char hyphen }
+{ @Char period }
+{ @Char slash }
+{ @Char zero }
+{ @Char one }
+{ @Char two }
+{ @Char three }
+{ @Char four }
+{ @Char five }
+{ @Char six }
+{ @Char seven }
+{ @Char eight }
+{ @Char nine }
+{ @Char colon }
+{ @Char semicolon }
+{ @Char less }
+{ @Char equal }
+{ @Char greater }
+{ @Char question }
+{ @Char at }
+{ @Char bracketleft }
+{ @Char backslash }
+{ @Char bracketright }
+{ @Char asciicircum }
+{ @Char underscore }
+{ @Char quoteleft }
+//1vx
+{ @Char A }
+{ @Char B }
+{ @Char C }
+{ @Char D }
+{ @Char E }
+{ @Char F }
+{ @Char G }
+{ @Char H }
+{ @Char I }
+{ @Char J }
+{ @Char K }
+{ @Char L }
+{ @Char M }
+{ @Char N }
+{ @Char O }
+{ @Char P }
+{ @Char Q }
+{ @Char R }
+{ @Char S }
+{ @Char T }
+{ @Char U }
+{ @Char V }
+{ @Char W }
+{ @Char X }
+{ @Char Y }
+{ @Char Z }
+//1vx
+{ @Char a }
+{ @Char b }
+{ @Char c }
+{ @Char d }
+{ @Char e }
+{ @Char f }
+{ @Char g }
+{ @Char h }
+{ @Char i }
+{ @Char j }
+{ @Char k }
+{ @Char l }
+{ @Char m }
+{ @Char n }
+{ @Char o }
+{ @Char p }
+{ @Char q }
+{ @Char r }
+{ @Char s }
+{ @Char t }
+{ @Char u }
+{ @Char v }
+{ @Char w }
+{ @Char x }
+{ @Char y }
+{ @Char z }
+//1vx
+{ @Char braceleft }
+{ @Char bar }
+{ @Char braceright }
+{ @Char asciitilde }
+{ @Char dotlessi }
+{ @Char grave }
+{ @Char acute }
+{ @Char circumflex }
+{ @Char tilde }
+{ @Char macron }
+{ @Char breve }
+{ @Char dotaccent }
+{ @Char dieresis }
+{ @Char ring }
+{ @Char cedilla }
+{ @Char hungarumlaut }
+{ @Char ogonek }
+{ @Char caron }
+{ @Char space }
+{ @Char exclamdown }
+{ @Char cent }
+{ @Char sterling }
+{ @Char currency }
+{ @Char yen }
+{ @Char brokenbar }
+{ @Char section }
+{ @Char dieresis }
+{ @Char copyright }
+{ @Char ordfeminine }
+{ @Char guillemotleft }
+{ @Char logicalnot }
+{ @Char hyphen }
+{ @Char registered }
+{ @Char macron }
+{ @Char degree }
+{ @Char plusminus }
+{ @Char twosuperior }
+{ @Char threesuperior }
+{ @Char acute }
+{ @Char mu }
+{ @Char paragraph }
+{ @Char periodcentered }
+{ @Char cedilla }
+{ @Char onesuperior }
+{ @Char ordmasculine }
+{ @Char guillemotright }
+{ @Char onequarter }
+{ @Char onehalf }
+{ @Char threequarters }
+{ @Char questiondown }
+//1vx
+{ @Char Agrave }
+{ @Char Aacute }
+{ @Char Acircumflex }
+{ @Char Atilde }
+{ @Char Adieresis }
+{ @Char Aring }
+{ @Char AE }
+{ @Char Ccedilla }
+{ @Char Egrave }
+{ @Char Eacute }
+{ @Char Ecircumflex }
+{ @Char Edieresis }
+{ @Char Igrave }
+{ @Char Iacute }
+{ @Char Icircumflex }
+{ @Char Idieresis }
+{ @Char Eth }
+{ @Char Ntilde }
+{ @Char Ograve }
+{ @Char Oacute }
+{ @Char Ocircumflex }
+{ @Char Otilde }
+{ @Char Odieresis }
+{ @Char multiply }
+{ @Char Oslash }
+{ @Char Ugrave }
+{ @Char Uacute }
+{ @Char Ucircumflex }
+{ @Char Udieresis }
+{ @Char Yacute }
+{ @Char Thorn }
+//1vx
+{ @Char germandbls }
+{ @Char agrave }
+{ @Char aacute }
+{ @Char acircumflex }
+{ @Char atilde }
+{ @Char adieresis }
+{ @Char aring }
+{ @Char ae }
+{ @Char ccedilla }
+{ @Char egrave }
+{ @Char eacute }
+{ @Char ecircumflex }
+{ @Char edieresis }
+{ @Char igrave }
+{ @Char iacute }
+{ @Char icircumflex }
+{ @Char idieresis }
+{ @Char eth }
+{ @Char ntilde }
+{ @Char ograve }
+{ @Char oacute }
+{ @Char ocircumflex }
+{ @Char otilde }
+{ @Char odieresis }
+{ @Char divide }
+{ @Char oslash }
+{ @Char ugrave }
+{ @Char uacute }
+{ @Char ucircumflex }
+{ @Char udieresis }
+{ @Char yacute }
+{ @Char thorn }
+{ @Char ydieresis }
+}
+As their names imply, these two fonts belong to the @I { Times family },
+a collection of fonts designed to go well together. Every font has a
+@I { family name }, such as Times, Helvetica, or Courier, and a
+family.name @Index { family name of font }
+face.name @Index { face name of font }
+@I { face name }, such as Roman or Italic. To find out how to
+get the unusual characters, see Section {@NumberOf characters}.
+@PP
+Documents look best when they use just one font family, so the most
+common need is to change to a different face within the current
+family. We have already seen {@Code "@I"}, which changes to the Italic
+face of the current family; there are six such symbols:
+b. @Index @Code "@B"
+i. @Index @Code "@I"
+bi. @Index @Code "@BI"
+ii. @Index @Code "@II"
+s. @Index @Code "@S"
+r. @Index @Code "@R"
+@ID @OneRow @Tab
+ @Fmta { @Col @Code A ! @Col B }
+{
+@Rowa
+ A { "@B { Hello World }" }
+ B { @B { Hello World } }
+@Rowa
+ A { "@I { Hello World }" }
+ B { @I { Hello World } }
+@Rowa
+ A { "@BI { Hello World }" }
+ B { @BI { Hello World } }
+@Rowa
+ A { "@II { Hello World }" }
+ B { @II { Hello World } }
+@Rowa
+ A { "@S { Hello World }" }
+ B { @S { Hello World } }
+@Rowa
+ A { "@R { Hello World }" }
+ B { @R { Hello World } }
+}
+The symbols' names stand for Bold, Italic, Bold-Italic, Italic-Italic
+(see below), Small capitals, and Roman. It is conventional to use Bold
+for headings; Italic for emphasis, terms being defined, and subsidiary
+headings; and Roman for the rest. Small capitals are not really a
+different font; they are
+small.caps @Index { small capitals }
+made on demand from the current font. So you can write, for example,
+@ID @Code "@I @S { Hello World }"
+and get @I @S { Hello World }.
+@PP
+The @Code "@R" symbol is almost unnecessary, since the document as a
+whole is set in a Roman face; but it is occasionally useful:
+@ID @Code "@I { An Italic sentence with one @R Roman word }"
+produces
+@ID @I { An Italic sentence with one @R Roman word }
+This illustrates the general principle that the effect of a font symbol
+on the following object is subject to font symbols within that object.
+@PP
+When part of a title is to be set in italic font, neither @Code "@I"
+nor @Code "@BI" is suitable because the part should appear in bold
+italics in the title itself, but in ordinary italics in running headers
+and the table of contents. The @Code "@II" symbol is the one for this
+situation: it produces bold italics when the current font is bold,
+and ordinary italics otherwise.
+@PP
+Changing families is a little more complicated. Here is the complete
+list of font families and their faces available with Basser Lout Version 3:
+@ID @OneRow @Tab
+ @Fmta { @Col @Code A ! @Col { ragged nohyphen } @Break @Code B }
+{
+@Rowa
+ A { AvantGarde }
+ B { Base Slope Bold BoldSlope BoldObl Book BookOblique
+CondBold CondBook CondDemi CondMedium Demi DemiOblique
+ExtraLight ExtraLightObl Medium MediumObl }
+@Rowa
+ A { Bookman }
+ B { Base Slope Bold BoldSlope BoldItalic Demi DemiItalic
+Light LightItalic Medium MediumItalic }
+@Rowa
+ A { Chancery }
+ B { Base Slope Bold BoldSlope
+Roman Bold Italic Light Demi LightItalic MediumItalic
+}
+@Rowa
+ A { Courier }
+ B { Base Slope Bold BoldSlope BoldOblique Oblique }
+@Rowa
+ A { Helvetica }
+ B { Base Slope Bold BoldSlope Black BlackOblique
+BoldOblique Compressed Cond CondBlack CondBlackObl
+CondBold CondBoldObl CondLight CondLightObl
+CondOblique ExtraCompressed
+Light LightOblique Narrow NarrowBold NarrowBoldObl
+NarrowObl Oblique UltraCompressed }
+@Rowa
+ A { Schoolbook }
+ B { Base Slope Bold BoldSlope BoldItalic Italic Roman }
+@Rowa
+ A { Palatino }
+ B { Base Slope Bold BoldSlope BoldItalic
+BoldItalicOsF BoldOsF Italic ItalicOsF Roman SC }
+@Rowa
+ A { Symbol }
+ B { Base Slope Bold BoldSlope }
+@Rowa
+ A { Times }
+ B { Base Slope Bold BoldSlope BoldItalic
+BoldItalicOsF BoldSC ExtraBold Italic ItalicOsF
+Roman RomanSC Semibold SemiboldItalic }
+@Rowa
+ A { Dingbats }
+ B { Base Slope Bold BoldSlope }
+}
+Lout understands all these fonts, but your printing device may not. Times,
+Helvetica, Courier, and Symbol at least seem to be ubiquitous, although
+not in every face. These fonts work only with languages that use the
+Latin1 character set; consult Section {@NumberOf languages} for more
+information about this. It is not difficult for a Lout expert to extend this
+list @Cite { $kingston1995lout.expert }.
+@PP
+It is a convention in Lout that every font family should at least
+base. @Index { @Code Base font }
+slope. @Index { @Code Slope font }
+bold. @Index { @Code Bold font }
+boldslope. @Index { @Code BoldSlope font }
+contain faces called @Code { Base }, @Code { Slope }, @Code { Bold },
+and @Code { BoldSlope }, and these faces are what the @Code { "@R" },
+@Code { "@I" }, @Code { "@B" }, and @Code { "@BI" } symbols give you. But
+this convention is something of a fiction for two reasons. First,
+some font families don't have faces that could reasonably be described as
+bold or whatever. In particular, the @Code Symbol family contains just
+one face, and all four conventional face names produce that face. Second,
+the four conventional face names are not names that typographers actually
+use, @Code { Bold } excepted. @Code { Slope } produces an italic face
+in some families and an oblique one in others. As the table shows, the
+true names are available if you want to use them, but it is very convenient
+to have a @Code { Slope } face that is guaranteed to exist no matter which
+family is used.
+@PP
+The @Code "@Font" symbol changes the font of the following object. For
+font.sym @Index @Code "@Font"
+example,
+@ID @Code "{ Helvetica Slope } @Font { Hello World }"
+produces
+@ID { Helvetica Slope } @Font { Hello World }
+When changing to a different family, a face name must follow the family
+name; but when changing face within a family, just the face name is
+sufficient.
+@PP
+To make the characters larger or smaller, you need to change the
+font.size @Index { font size }
+@I { font size }, which can also be done with the @Code "@Font"
+symbol. Font sizes are traditionally measured in {@I points}: there
+are 72 points to one inch, and the most common font sizes are 12 point
+and 10 point. However, as Section {@NumberOf objects} explains in
+detail, any length including fractional lengths is acceptable:
+@ID @Code "24p @Font { Hello World }"
+changes to 24 point size, producing
+@ID 24p @Font { Hello World }
+It is also possible to specify a font size relative to the current
+size: @Code "+2p" means two points larger, @Code "-2p" means two
+points smaller, and @Code "1.5f" means 1.5 times the current font
+size.
+@PP
+For the convenience of people who use fixed width fonts such as
+Courier, there is an @Code "@F" symbol which switches to a
+fixed width font family:
+@ID @Code "@F { Hello world }"
+produces
+@ID @F { Hello world }
+It is the same as writing @Code "{ Courier Base -1p } @Font ..."
+with the @Code "-1p" included to compensate for the relatively
+large appearance of the Courier font.
+@PP
+The document as a whole will be set in @Code { Times Base 12p }. To
+change this you need to change the @Code "@InitialFont" option, for
+initialfont. @Index @Code "@InitialFont"
+example to
+@ID @Code "@InitialFont { Helvetica Base 10p }"
+to get Helvetica 10 point. You must give all three parts in
+{@Code "@InitialFont"}: family, face, size. If you are using your own
+setup file, as explained in Section {@NumberOf setup}, you can find the
+@Code "@InitialFont" option there. If not, you can set it at the
+beginning of your document as explained in Section {@NumberOf ordinary}.
+@PP
+There are two features that make fonts look better on the
+page. @I Ligatures are pairs of letters run together; the most
+ligatures. @Index { ligatures }
+common ligatures are `fi' and `fl.' @I Kerning is moving adjacent
+kerning. @Index { kerning }
+letters closer together, for example in `VA.' Lout considers
+ligatures and kerning to be integral parts of each font; you can prevent
+them from happening only by enclosing one of the letters in a
+@Code "@OneCol" symbol, as in {@Code "@OneCol { V }A" }.
+@End @Section