輪郭・塗りつぶし・中心線 API

FontOutlineExtractor

FontOutlineExtractor(
    font_file: Path,
    height: float,
    curve_division: int,
    font_number: int = 0,
)
  • extract_text(text: str, spacing: float) -> FontOutlineGlyph

  • extract_character(character: str) -> FontOutlineGlyph

height <= 0、curve_division < 1、一文字APIへの複数文字指定、フォントに存在しない文字は ValueError です。

FontGlyphFiller

FontGlyphFiller(pixel_size: float, margin: float)
  • fill(outline_glyph: FontOutlineGlyph) -> FontFilledGlyph

pixel_size は正値、margin は0以上が必要です。輪郭点が存在しない場合は ValueError です。

FontCenterlineExtractor

FontCenterlineExtractor()
  • extract(filled_glyph: FontFilledGlyph) -> FontCenterlineGlyph

内部では skimage.morphology.skeletonize() を使い、8近傍グラフを端点・分岐点・閉路からパスへ分解します。

FontCenterlineCleaner

FontCenterlineCleaner(
    min_path_length: float,
    point_spacing: float,
)
  • clean(centerline_glyph: FontCenterlineGlyph) -> FontCenterlineGlyph

連続重複点を除去し、指定長未満のパスを除外し、残ったパスを目標点間隔へ再サンプリングします。min_path_length は0以上、point_spacing は正値が必要です。