Vagabond K's Libraries Vagabond K's Libraries
Vagabond K's Libraries Vagabond K's Libraries
https://k.vagabond.builders

검색 결과:

    GlyphContour 클래스

    글리프 윤곽선의 닫힌 윤곽(contour)을 나타냅니다. 그리기 커맨드(ContourCommand)의 집합으로 관리되며, 마지막 세그먼트는 자동으로 첫 점과 연결되어 닫힙니다. 좌표는 pen 기원점 기준 절대 좌표(폰트 단위)이며, Y 양수 방향은 위쪽입니다. IList<T>를 구현해 커맨드를 인덱스로 접근하거나 중간에 삽입/제거할 수 있습니다.

    상속
    object
    GlyphContour
    구현
    IList<ContourCommand>
    ICollection<ContourCommand>
    IEnumerable<ContourCommand>
    IEnumerable
    네임스페이스: VagabondK.OpenType.Geometry
    어셈블리: VagabondK.OpenType.dll
    구문
    public class GlyphContour : IList<ContourCommand>, ICollection<ContourCommand>, IEnumerable<ContourCommand>, IEnumerable

    생성자

    이름 설명
    GlyphContour()

    GlyphContour의 새 인스턴스를 생성합니다. 여러 글리프가 같은 contour 인스턴스를 참조하면 CFF에서는 서브루틴으로 추출됩니다.

    속성

    이름 설명
    Commands

    이 윤곽에 포함된 그리기 커맨드 목록을 순서대로 반환합니다. 첫 커맨드는 MoveToCommand여야 합니다.

    Count

    커맨드 개수를 반환합니다.

    IsReadOnly

    읽기 전용 여부를 반환합니다. 항상 false입니다.

    this[int]

    지정된 인덱스의 커맨드를 가져오거나 설정합니다. 인덱스 0에는 MoveToCommand가 있어야 직렬화가 정상 동작합니다.

    메서드

    이름 설명
    Add(ContourCommand)

    커맨드를 목록 끝에 추가합니다.

    Clear()

    모든 커맨드를 제거합니다. 로드한 contour를 비운 후 MoveTo(double, double) 등으로 다시 그릴 때 사용합니다.

    ComputeBoundingBox(out double, out double, out double, out double)

    윤곽의 정확한 바운딩 박스를 계산합니다. 베지어 곡선은 제어점(convex hull)이 아닌 곡선 자체의 극값을 사용하며, 각 세그먼트의 도함수가 0이 되는 t(0..1)에서 곡선을 평가해 실제 곡선이 도달하는 최소/최대 좌표를 구합니다. head의 xMin/yMin/xMax/yMax, CFF의 FontBBox 계산에 사용됩니다.

    Contains(ContourCommand)

    커맨드가 목록에 있는지 확인합니다.

    CopyTo(ContourCommand[], int)

    커맨드를 배열에 복사합니다.

    CurveTo(double, double, double, double, double, double)

    현재 위치에서 두 제어점을 거치는 3차 베지어 곡선을 지정된 점까지 그립니다. CFF(Type 2 charstring)는 3차 베지어를 네이티브로 지원하며, TTF(glyf)는 EnumerateTtfPoints()에서 2개의 2차 베지어로 변환됩니다.

    EnumerateTtfPoints()

    TTF(glyf) 직렬화용 점 목록을 순서대로 반환합니다. 3차 베지어 세그먼트는 ToQuadraticBezierCommands(double, double) 로 2차 베지어 시퀀스로 변환됩니다. glyf의 점 배열(on-curve/off-curve 플래그 포함)을 구성하는 데 사용됩니다.

    GetEnumerator()

    커맨드를 순회하는 enumerators를 반환합니다.

    IndexOf(ContourCommand)

    커맨드의 인덱스를 반환합니다. 없으면 -1입니다.

    Insert(int, ContourCommand)

    지정된 인덱스에 커맨드를 삽입합니다.

    LineTo(double, double)

    현재 위치에서 지정된 점까지 직선을 그립니다. CFF에서는 rlineto(상대 오프셋)로, glyf에서는 on-curve 점으로 직렬화됩니다.

    MoveTo(double, double)

    윤곽의 시작점으로 이동합니다. contour의 첫 커맨드로 사용해야 합니다. CFF에서는 hmoveto/vmoveto/rmoveto로, glyf에서는 첫 on-curve 점으로 직렬화됩니다.

    QuadTo(double, double, double, double)

    현재 위치에서 지정된 제어점을 거치는 2차 베지어 곡선을 지정된 점까지 그립니다. glyf는 2차 베지어를 네이티브로 지원하며, CFF에서는 3차 베지어로 변환해 rrcurveto로 기록합니다.

    Remove(ContourCommand)

    커맨드를 목록에서 제거합니다. 제거되면 true, 없으면 false입니다.

    RemoveAt(int)

    지정된 인덱스의 커맨드를 제거합니다.

    확장 메서드

    ConvertExtensions.ToNullable<T>(object)
    ConvertExtensions.To<T>(object, T)
    ConvertExtensions.TryConvert<T>(object, out T)
    PropertyExtensions.Get<TProperty>(object, ref TProperty, Func<TProperty>)
    PropertyExtensions.Set<TProperty>(object, ref TProperty, TProperty)
    GenericValueConverter.To<TSource, TTarget>(TSource)
    Copyright © 2024. Vagabond K. All Rights Reserved.