package font
type Direction uint8
const (
DirectionNone Direction = iota
DirectionVertical
DirectionHorizontal
)
type Delimiter struct {
Direction Direction
Sizes []float64
SizeVariants []int
SizeChars []rune
Stretch []rune
StretchVariants []int
HDW [3 ]float64
HasHDW bool
Min float64
HasMin bool
Alias rune
HasAlias bool
FullExt [2 ]float64
HasFullExt bool
}
func cloneDelimiter(delimiter Delimiter ) Delimiter {
delimiter .Sizes = append ([]float64 (nil ), delimiter .Sizes ...)
delimiter .SizeVariants = append ([]int (nil ), delimiter .SizeVariants ...)
delimiter .SizeChars = append ([]rune (nil ), delimiter .SizeChars ...)
delimiter .Stretch = append ([]rune (nil ), delimiter .Stretch ...)
delimiter .StretchVariants = append ([]int (nil ), delimiter .StretchVariants ...)
return delimiter
}
func LookupDelimiter (codepoint rune ) (Delimiter , bool ) {
delimiter , ok := delimiterTable [codepoint ]
if !ok {
return Delimiter {}, false
}
return cloneDelimiter (delimiter ), true
}
func DelimiterCount () int { return len (delimiterTable ) }
var sizeVariants = [...]Variant {Normal , SmallOp , LargeOp , Size3 , Size4 , TeXVariant }
var stretchVariants = [...]Variant {Size4 }
func (delimiter Delimiter ) SizeVariant (i int ) (Variant , bool ) {
if i < 0 {
return "" , false
}
index := i
if len (delimiter .SizeVariants ) != 0 {
if i >= len (delimiter .SizeVariants ) {
return "" , false
}
index = delimiter .SizeVariants [i ]
}
if index < 0 || index >= len (sizeVariants ) {
return "" , false
}
return sizeVariants [index ], true
}
func (delimiter Delimiter ) StretchVariant (i int ) (Variant , bool ) {
if i < 0 {
return "" , false
}
index := 0
if len (delimiter .StretchVariants ) != 0 {
if i >= len (delimiter .StretchVariants ) {
return "" , false
}
index = delimiter .StretchVariants [i ]
}
if index < 0 || index >= len (stretchVariants ) {
return "" , false
}
return stretchVariants [index ], true
}
The pages are generated with Golds v0.8.7 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .