輪郭・塗りつぶし・中心線 API
FontOutlineExtractor
FontOutlineExtractor(
font_file: Path,
height: float,
curve_division: int,
font_number: int = 0,
)
extract_text(text: str, spacing: float) -> FontOutlineGlyphextract_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 は正値が必要です。