Skip to content

굵은 맑은 고딕 전진폭 — 한/글은 Regular 폭으로 조판하는 것으로 보임 (80168 133·134쪽 줄바꿈 한 글자 차) #8079

Open

Description

@planet6897

증상

저장 글줄이 없는 문단을 rhwp 가 재조판할 때, 굵은 맑은 고딕의 숫자·괄호가 한/글보다 넓게 측정되어 줄바꿈이 한 글자 앞에서 일어난다. 줄이 하나 늘어나면 뒤 내용과 쪽 경계까지 밀린다.

측정

  • 셀 내용 폭 46604HU = 621.4px. rhwp 자연폭으로 시 까지 넣으면 621.98px → 0.59px 초과.
  • 차이는 굵은 런(CHAR_SHAPE 119: 맑은 고딕 bold, 장평·자간·상대크기 모두 100%)의 54 와 (.
    • rhwp: malgunbd.ttf 폭 — 숫자 1187/2048 = 0.580em(16px 에서 9.27px), ( 0.357em
    • 한/글 PDF 배치: 숫자 0.55em, ( 0.31em = malgun.ttf(Regular) 1128/2048·624/2048
  • PDF 근거: 임베드 INPILL+MalgunGothicBold 의 /W 는 숫자 579/1000(Bold 폭 그대로)인데, 133쪽 content stream 은
    /F17 100 Tf … 744 Tm [<0022>29.000<0025>]TJ 다음 글자를 854 Tm 에 둔다 — 숫자 두 개가 110 단위 = 0.55em 씩.
    즉 글리프는 Bold 면으로 그리되 전진폭은 Regular 면 값으로 보인다.
  • 같은 29.000(= 579 − 550) 조정이 다른 한컴 PDF 의 굵은 맑은 고딕 런에도 반복된다:
    pdf/156564340-ip-dispute-mediation-2020.pdf 42건, 156767332-broadcast-revenue-attachment-2020.pdf 15건,
    156492236-regulatory-sandbox-full-2020.pdf 16건(한/글 2020·2024 모두). 39·47·57·19 조정도 함께 나와 다른 글리프의 Bold−Regular 차로 보이나 글리프별 대조는 아직 하지 않았다.
  • 반례 후보: 113424_evaluation_guideline-2024.pdf, 156627451-quantum-science-press-note-2020.pdf 는 8.5·26.9·40.5 등 다른 조정이 주로 나온다(자간·양쪽 정렬일 수 있음, 미분석).

rhwp 현재 경로

  • src/renderer/layout/text_measurement.rs measure_char_width_embedded_decision_for_font → font_metrics_data::find_metric_decision(name, bold, italic) 가 bold 표(Malgun Gothic, bold: true)를 고른다.
  • legacy_font_advances::bold_advance 는 HFT 한글에만 +5% 를 더한다.

가설과 확인할 것

가설: 한/글은 별도 Bold 면이 있는 TTF 의 굵은 글자도 조판 전진폭은 Regular 면으로 잡는다(한글은 두 면 모두 1em 이라 차이가 안 보임).

수정 전에 확인할 것:

  1. ToUnicode 로 글리프를 풀어 (Bold /W − TJ 조정) == Regular hmtx 인지 굵은 맑은 고딕 런 전수 대조
  2. Arial·Times New Roman 등 다른 Bold 면 TTF 도 같은지 (맑은 고딕만의 규칙인지)
  3. 저장 글줄을 쓰는 경로(이미 한/글 줄나눔)와 재조판 경로에서 x 배치 영향 범위
  4. 적용 시 굵은 TTF 를 쓰는 전 문서의 폭이 바뀌므로 샘플 전수 SVG A/B + 바뀐 쪽 PDF 대조

범위

#7965(RowBreak 표 분할) 에서 80168 남은 저점을 분류하다 찾았다. 표 분할 규칙과 무관해 그 PR 에서는 다루지 않는다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions