Skip to content

첫 글자 장식: SDK로 DoubleLine·Margin 구조와 크기 산정 규칙 확인 #313

Description

@airmang

검사한 공개 main은 97670eb2462e106134633acd78a8097d96db0fdd입니다(Python 3.13.13, macOS). 아래 입력은 저장소에 포함되어 있습니다. SDK로 아직 실행하지 않았으며, SDK 관찰을 통해 엔진 지원을 확대하기 위한 과제입니다. core에 SDK 의존을 추가하는 제안은 아닙니다.

재현

현재 TripleLine만 지원합니다. 아래 호출은 두 스타일 모두 HwpxValueError(code="shape-drop-cap-style-unsupported")로 거부됩니다.

from hwpx import HwpxDocument
for style in ("DoubleLine", "Margin"):
    with HwpxDocument.new() as doc:
        p = doc.add_paragraph("본문")
        doc.shapes.add_drop_cap("가", width=3000, height=4500, style=style, paragraph=p)

이 제한은 src/hwpx/oxml/drop_cap.py에 명시된 계약입니다. 외부 코퍼스에는 TripleLine 예시만 확인되어 다른 스타일의 실문서 빈도는 이번에 증명하지 않았습니다. 낮은 우선순위의 관찰 과제로 등록합니다.

SDK 관찰 요청

실제 SDK가 두 스타일을 저작할 수 있는지 먼저 확인해 주세요. 스타일·글꼴·글자 크기를 바꾼 한컴 저장본에서 rect/drawText/배치 속성과 박스 크기 관계를 비교하면, 구조가 같다는 추측 없이 지원을 확대할 근거가 됩니다. 현재 폭/높이 자동 산정도 근거가 없어 호출자가 직접 지정합니다.

완료 기준은 확인된 스타일별 구조/배치 규칙과 렌더 비교입니다. 자동 크기 계산은 충분한 관찰 근거가 있을 때 별도 계약으로 추가하고, SDK 액션이 없거나 근거가 부족하면 명시적 미지수로 남겨 주세요. 상위 도형 지원 과제 #51과 연관됩니다.

검증 원칙

입력 SHA-256·SDK backend/build·산출물 해시를 기록하고, 페이지 렌더와 한컴 재저장 HWPX를 비교해 회귀 기준으로 남겨 주세요. 캐시가 있는 원본과 편집으로 캐시가 무효화된 경우를 구분하고, SDK와 Office의 결과가 다르면 별도 기준으로 기록해야 합니다. 미지원 이유를 제거하거나 파일이 열리는 것만으로 완료하지 않습니다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions