mirror of
https://github.com/QL-Win/QuickLook.git
synced 2025-09-14 20:29:07 +00:00
Temporary solution to read woff2
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
//MIT, 2015, Michael Popoloski's SharpFont,
|
||||
//MIT, 2016-present, WinterDev
|
||||
|
||||
|
||||
using System.Numerics;
|
||||
namespace Typography.OpenFont
|
||||
{
|
||||
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential)]
|
||||
public struct GlyphPointF
|
||||
{
|
||||
//from https://docs.microsoft.com/en-us/typography/opentype/spec/glyf
|
||||
//'point' of the glyph contour.
|
||||
//eg. ... In the glyf table, the position of a point ...
|
||||
// ... the point is on the curve; otherwise, it is off the curve....
|
||||
|
||||
internal Vector2 P;
|
||||
internal bool onCurve;
|
||||
|
||||
public GlyphPointF(float x, float y, bool onCurve)
|
||||
{
|
||||
P = new Vector2(x, y);
|
||||
this.onCurve = onCurve;
|
||||
}
|
||||
public GlyphPointF(Vector2 position, bool onCurve)
|
||||
{
|
||||
P = position;
|
||||
this.onCurve = onCurve;
|
||||
}
|
||||
public float X => this.P.X;
|
||||
public float Y => this.P.Y;
|
||||
|
||||
public static GlyphPointF operator *(GlyphPointF p, float n)
|
||||
{
|
||||
return new GlyphPointF(p.P * n, p.onCurve);
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
|
||||
internal GlyphPointF Offset(short dx, short dy) { return new GlyphPointF(new Vector2(P.X + dx, P.Y + dy), onCurve); }
|
||||
|
||||
internal void ApplyScale(float scale)
|
||||
{
|
||||
P *= scale;
|
||||
}
|
||||
internal void ApplyScaleOnlyOnXAxis(float scale)
|
||||
{
|
||||
P = new Vector2(P.X * scale, P.Y);
|
||||
}
|
||||
|
||||
internal void UpdateX(float x)
|
||||
{
|
||||
this.P.X = x;
|
||||
}
|
||||
internal void UpdateY(float y)
|
||||
{
|
||||
this.P.Y = y;
|
||||
}
|
||||
internal void OffsetY(float dy)
|
||||
{
|
||||
this.P.Y += dy;
|
||||
}
|
||||
internal void OffsetX(float dx)
|
||||
{
|
||||
this.P.X += dx;
|
||||
}
|
||||
#if DEBUG
|
||||
internal bool dbugIsEqualsWith(GlyphPointF another)
|
||||
{
|
||||
return this.P == another.P && this.onCurve == another.onCurve;
|
||||
}
|
||||
public override string ToString() { return P.ToString() + " " + onCurve.ToString(); }
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user