Skip to content

3-11월 실전 통합 2022 p4 수식 over+숫자 결합 표현식 개선 #1122

@jangster77

Description

@jangster77

배경

작업지시자 제보 기준으로 samples/3-11월_실전_통합_2022.hwp page 4에서 한컴오피스 2022와 rhwp 웹/VS Code 계열 렌더의 수식 표현식이 다르게 보인다.

기존 #1121은 page 4 전체 시각 차이 개선 이슈였으나, 이번 건은 수식 스크립트 over와 숫자가 붙은 경우의 표현식 오류로 원인이 좁혀져 별도 이슈로 분리한다.

증상

한컴오피스 2022에서는 보기 수식이 분수 형태로 표시되지만 rhwp 렌더에서는 일부 수식이 11over20, 3over5, 13over20, 7over10, 3over4처럼 한 줄 텍스트에 가깝게 표시된다.

초기 재현

소스 수정 없이 확인한 결과:

  • ./target/release/rhwp dump samples/3-11월_실전_통합_2022.hwp -s 0 -p 223
    • script="11 over20", script="3 over5"
  • ./target/release/rhwp dump samples/3-11월_실전_통합_2022.hwp -s 0 -p 224
    • script="13 over20", script="7 over10"
  • ./target/release/rhwp dump samples/3-11월_실전_통합_2022.hwp -s 0 -p 225
    • script="3 over4"
  • export-svg 결과에는 over20, over5, over10, over4 문자열이 남아 분수선/분모로 렌더되지 않는다.

반면 pi=214~215{8} over {13}, {17} over {26}처럼 over 뒤 공백이 있는 수식은 정상 분수로 렌더된다.

후보 원인

src/renderer/equation/tokenizer.rs::read_command()가 ASCII 알파벳/숫자를 연속으로 읽어 over20Command("over20")으로 만든다. 이 때문에 src/renderer/equation/parser.rsOVER 중위 연산자 처리가 실행되지 않는다.

기대

  • 11 over2011 over 20과 동일한 분수 AST/렌더 결과.
  • 3 over5, 7 over10, 3 over4도 동일하게 분수로 표시.
  • overline, overset, overlap 같은 명령어/식별자는 기존 동작 유지.

절차

하이퍼-워터폴 절차를 따른다. 소스 수정 전 수행계획서와 구현계획서 작성 후 작업지시자 승인을 받는다.

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