pub trait Validate {
// Required method
fn validate_impl(&self, ctx: &mut ValidationCtx);
// Provided method
fn validate(&self) -> Result<(), ValidationReport> { ... }
}
Expand description
Pre-compilation validation of tables.
The OpenType specification describes various requirements for different tables that are awkward to encode in the type system, such as requiring certain arrays to have equal lengths. These requirements are enforced via a validation pass.
Required Methods§
Sourcefn validate_impl(&self, ctx: &mut ValidationCtx)
fn validate_impl(&self, ctx: &mut ValidationCtx)
Validate this table.
If you need to implement this directly, it should look something like:
struct MyRecord {
my_values: Vec<u16>,
}
impl Validate for MyRecord {
fn validate_impl(&self, ctx: &mut ValidationCtx) {
ctx.in_table("MyRecord", |ctx| {
ctx.in_field("my_values", |ctx| {
if self.my_values.len() > (u16::MAX as usize) {
ctx.report("array is too long");
}
})
})
}
}
Provided Methods§
Sourcefn validate(&self) -> Result<(), ValidationReport>
fn validate(&self) -> Result<(), ValidationReport>
Ensure that this table is well-formed, reporting any errors.
This is an auto-generated method that calls to validate_impl and collects any errors.
Implementations on Foreign Types§
Source§impl<T: Validate> Validate for Option<T>
impl<T: Validate> Validate for Option<T>
fn validate_impl(&self, ctx: &mut ValidationCtx)
Source§impl<T: Validate> Validate for BTreeSet<T>
impl<T: Validate> Validate for BTreeSet<T>
fn validate_impl(&self, ctx: &mut ValidationCtx)
Source§impl<T: Validate> Validate for Vec<T>
impl<T: Validate> Validate for Vec<T>
fn validate_impl(&self, ctx: &mut ValidationCtx)
Implementors§
impl Validate for BaseCoord
impl Validate for CmapSubtable
impl Validate for ClipBox
impl Validate for Paint
impl Validate for CaretValue
impl Validate for Glyph
impl Validate for AnchorTable
impl Validate for write_fonts::tables::gpos::ExtensionSubtable
impl Validate for PairPos
impl Validate for PositionLookup
impl Validate for SinglePos
impl Validate for write_fonts::tables::gsub::ExtensionSubtable
impl Validate for SingleSubst
impl Validate for SubstitutionLookup
impl Validate for Ift
Available on crate feature
ift
only.impl Validate for ChainedSequenceContext
impl Validate for ClassDef
impl Validate for Condition
impl Validate for CoverageTable
impl Validate for DeviceOrVariationIndex
impl Validate for FeatureParams
impl Validate for SequenceContext
impl Validate for Metadata
impl Validate for AxisValue
impl Validate for DeltaSetIndexMap
impl Validate for PackedPointNumbers
impl Validate for Avar
impl Validate for AxisValueMap
impl Validate for SegmentMaps
impl Validate for Axis
impl Validate for Base
impl Validate for BaseCoordFormat1
impl Validate for BaseCoordFormat2
impl Validate for BaseCoordFormat3
impl Validate for BaseLangSysRecord
impl Validate for BaseScript
impl Validate for BaseScriptList
impl Validate for BaseScriptRecord
impl Validate for BaseTagList
impl Validate for BaseValues
impl Validate for FeatMinMaxRecord
impl Validate for MinMax
impl Validate for Cmap0
impl Validate for Cmap2
impl Validate for Cmap4
impl Validate for Cmap6
impl Validate for Cmap8
impl Validate for Cmap10
impl Validate for Cmap12
impl Validate for Cmap13
impl Validate for Cmap14
impl Validate for Cmap
impl Validate for ConstantMapGroup
impl Validate for DefaultUvs
impl Validate for EncodingRecord
impl Validate for NonDefaultUvs
impl Validate for SequentialMapGroup
impl Validate for SubHeader
impl Validate for UnicodeRange
impl Validate for UvsMapping
impl Validate for VariationSelector
impl Validate for Affine2x3
impl Validate for BaseGlyph
impl Validate for BaseGlyphList
impl Validate for BaseGlyphPaint
impl Validate for Clip
impl Validate for ClipBoxFormat1
impl Validate for ClipBoxFormat2
impl Validate for ClipList
impl Validate for ColorIndex
impl Validate for ColorLine
impl Validate for ColorStop
impl Validate for Colr
impl Validate for Layer
impl Validate for LayerList
impl Validate for PaintColrGlyph
impl Validate for PaintColrLayers
impl Validate for PaintComposite
impl Validate for PaintGlyph
impl Validate for PaintLinearGradient
impl Validate for PaintRadialGradient
impl Validate for PaintRotate
impl Validate for PaintRotateAroundCenter
impl Validate for PaintScale
impl Validate for PaintScaleAroundCenter
impl Validate for PaintScaleUniform
impl Validate for PaintScaleUniformAroundCenter
impl Validate for PaintSkew
impl Validate for PaintSkewAroundCenter
impl Validate for PaintSolid
impl Validate for PaintSweepGradient
impl Validate for PaintTransform
impl Validate for PaintTranslate
impl Validate for PaintVarLinearGradient
impl Validate for PaintVarRadialGradient
impl Validate for PaintVarRotate
impl Validate for PaintVarRotateAroundCenter
impl Validate for PaintVarScale
impl Validate for PaintVarScaleAroundCenter
impl Validate for PaintVarScaleUniform
impl Validate for PaintVarScaleUniformAroundCenter
impl Validate for PaintVarSkew
impl Validate for PaintVarSkewAroundCenter
impl Validate for PaintVarSolid
impl Validate for PaintVarSweepGradient
impl Validate for PaintVarTransform
impl Validate for PaintVarTranslate
impl Validate for VarAffine2x3
impl Validate for VarColorIndex
impl Validate for VarColorLine
impl Validate for VarColorStop
impl Validate for ColorRecord
impl Validate for Cpal
impl Validate for Dsig
impl Validate for SignatureBlockFormat1
impl Validate for SignatureRecord
impl Validate for AxisInstanceArrays
impl Validate for Fvar
impl Validate for InstanceRecord
impl Validate for VariationAxisRecord
impl Validate for Gasp
impl Validate for GaspRange
impl Validate for AttachList
impl Validate for AttachPoint
impl Validate for CaretValueFormat1
impl Validate for CaretValueFormat2
impl Validate for CaretValueFormat3
impl Validate for Gdef
impl Validate for LigCaretList
impl Validate for LigGlyph
impl Validate for MarkGlyphSets
impl Validate for CompositeGlyph
impl Validate for Glyf
impl Validate for SimpleGlyph
impl Validate for AnchorFormat1
impl Validate for AnchorFormat2
impl Validate for AnchorFormat3
impl Validate for BaseArray
impl Validate for BaseRecord
impl Validate for Class1Record
impl Validate for Class2Record
impl Validate for ComponentRecord
impl Validate for CursivePosFormat1
impl Validate for EntryExitRecord
impl Validate for Gpos
impl Validate for LigatureArray
impl Validate for LigatureAttach
impl Validate for Mark2Array
impl Validate for Mark2Record
impl Validate for MarkArray
impl Validate for MarkBasePosFormat1
impl Validate for MarkLigPosFormat1
impl Validate for MarkMarkPosFormat1
impl Validate for MarkRecord
impl Validate for PairPosFormat1
impl Validate for PairPosFormat2
impl Validate for PairSet
impl Validate for PairValueRecord
impl Validate for PositionChainContext
impl Validate for PositionSequenceContext
impl Validate for SinglePosFormat1
impl Validate for SinglePosFormat2
impl Validate for write_fonts::tables::gpos::ValueRecord
impl Validate for AlternateSet
impl Validate for AlternateSubstFormat1
impl Validate for Gsub
impl Validate for Ligature
impl Validate for LigatureSet
impl Validate for LigatureSubstFormat1
impl Validate for MultipleSubstFormat1
impl Validate for ReverseChainSingleSubstFormat1
impl Validate for Sequence
impl Validate for SingleSubstFormat1
impl Validate for SingleSubstFormat2
impl Validate for SubstitutionChainContext
impl Validate for SubstitutionSequenceContext
impl Validate for GlyphVariationData
impl Validate for GlyphVariationDataHeader
impl Validate for Gvar
impl Validate for Head
impl Validate for Hhea
impl Validate for Hmtx
impl Validate for LongMetric
impl Validate for Hvar
impl Validate for DesignSpaceSegment
Available on crate feature
ift
only.impl Validate for EntryData
Available on crate feature
ift
only.impl Validate for EntryMapRecord
Available on crate feature
ift
only.impl Validate for FeatureMap
Available on crate feature
ift
only.impl Validate for write_fonts::tables::ift::FeatureRecord
Available on crate feature
ift
only.impl Validate for write_fonts::tables::ift::GlyphData
Available on crate feature
ift
only.impl Validate for GlyphKeyedPatch
Available on crate feature
ift
only.impl Validate for GlyphMap
Available on crate feature
ift
only.impl Validate for GlyphPatches
Available on crate feature
ift
only.impl Validate for IdStringData
Available on crate feature
ift
only.impl Validate for MappingEntries
Available on crate feature
ift
only.impl Validate for PatchMapFormat1
Available on crate feature
ift
only.impl Validate for PatchMapFormat2
Available on crate feature
ift
only.impl Validate for TableKeyedPatch
Available on crate feature
ift
only.impl Validate for TablePatch
Available on crate feature
ift
only.