ebiten/text/v2/metadata.go
Hajime Hoshi e058bb6fd3 all: update go-text
Unfortunately this adds a breaking change to (*GoTextFaceSource).UnsafeInternal.

Updates #3082
2024-09-09 23:29:49 +09:00

74 lines
2.3 KiB
Go

// Copyright 2023 The Ebitengine Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package text
import (
"github.com/go-text/typesetting/font"
"github.com/go-text/typesetting/font/opentype"
)
// Metadata represents a font face's metadata.
type Metadata struct {
Family string
Style Style
Weight Weight
Stretch Stretch
}
func metadataFromLoader(l *opentype.Loader) Metadata {
d, _ := font.Describe(l, nil)
return Metadata{
Family: d.Family,
Style: Style(d.Aspect.Style),
Weight: Weight(d.Aspect.Weight),
Stretch: Stretch(d.Aspect.Stretch),
}
}
type Style uint8
const (
StyleNormal Style = Style(font.StyleNormal)
StyleItalic Style = Style(font.StyleItalic)
)
type Weight float32
const (
WeightThin Weight = Weight(font.WeightThin)
WeightExtraLight Weight = Weight(font.WeightExtraLight)
WeightLight Weight = Weight(font.WeightLight)
WeightNormal Weight = Weight(font.WeightNormal)
WeightMedium Weight = Weight(font.WeightMedium)
WeightSemibold Weight = Weight(font.WeightSemibold)
WeightBold Weight = Weight(font.WeightBold)
WeightExtraBold Weight = Weight(font.WeightExtraBold)
WeightBlack Weight = Weight(font.WeightBlack)
)
type Stretch float32
const (
StretchUltraCondensed Stretch = Stretch(font.StretchUltraCondensed)
StretchExtraCondensed Stretch = Stretch(font.StretchExtraCondensed)
StretchCondensed Stretch = Stretch(font.StretchCondensed)
StretchSemiCondensed Stretch = Stretch(font.StretchSemiCondensed)
StretchNormal Stretch = Stretch(font.StretchNormal)
StretchSemiExpanded Stretch = Stretch(font.StretchSemiExpanded)
StretchExpanded Stretch = Stretch(font.StretchExpanded)
StretchExtraExpanded Stretch = Stretch(font.StretchExtraExpanded)
StretchUltraExpanded Stretch = Stretch(font.StretchUltraExpanded)
)