hahnlee / hwp-rs

Rust based hwp parser and tools

Home Page:https://docs.rs/hwp/latest/hwp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[버그] `doc_info/style.rs`에서 오류를 일으킵니다.

baehyunsol opened this issue · comments

버그 설명
src/hwp/doc_info/style.rs:43:20에서 unwrap on None 오류가 납니다. from_u8 함수가 None을 반환한 것 같습니다.

재현방법
다음 문서를 HWP::from_bytes로 읽으려고 시도하니까 오류가 났습니다.

환경:

  • OS: Ubuntu 22.10
  • Rust 버전: 1.67.1
  • hwp-rs 버전: 0.2.0
  • 테스트한 아래아한글 문서 버전: 제가 작성한 것이 아니라서 모르겠습니다. 최소한 2018년 이후에 나온 버전의 한글로 작성됐습니다.

5.1.x 버전이군요.

표준에 따르면 style의 kind의 처음 두 바이트는 0또는 1로 정의되어 있는데 값이 다르네요. hwpx전환후 확인해보면 실제론 0이어야 하는데 조금 의아합니다. 보통이런경우에는 제가 바이트 수를 잘못 읽을때 발생하는데 해당 프로퍼티 전후 값을 확인해보면 바이트 수 실수는 아닌거 같아 좀 더 시간이 걸릴것 같습니다. (이전에 비슷하게 표준과 달리 다른 숫자로 넘어오면 0으로 처리해야하는 경우가 있었습니다)

이 문서는 kind와 lock_form 두 프로퍼티만 잘못 읽히고 있어 확인에 시간이 걸릴것 같습니다. kind값이 이상하면 일괄적으로 lock_form값도 hwpx로 변환후 확인한 값과 다르네요

한글로 열어보니 해석불가의 경우에는 0으로 고정해야할것 같습니다

주말에 수정해두겠습니다