문단 owpml <hp:t>줄바꿈 문의드립니다.

많은 사용자들이 사용할 수 있게 라이브러리 만들려고, 제작중입니다.

문단 줄바꿈 구현이 textpos 같은 값이 필요한거 같은데 일일히 하나씩 계산이 어렵습니다.

<hp:p id=“0” paraPrIDRef=“0” styleIDRef=“0” pageBreak=“0” columnBreak=“0” merged=“0”>
<hp:run charPrIDRef=“0”>
hp:t문자열 테스트 ㄱ가가가 !@#$%^&*()가즈아아아아아아ㅏ아아아아아아아아ㅏ아아아아아ㅏ아아ㅏ아아하하아아ㅏ아아ㅏ아아아자ㅏ자자가가자자ㅏ자자자ㅏ자자자ㅏ자자자ㅏ자자자ㅏ자자자ㅏ자자자ㅏ자자자ㅏ자자자ㅏ자</hp:t>
</hp:run>
hp:linesegarray
<hp:lineseg />
</hp:linesegarray>
</hp:p>

위 예시코드를 활용하니 자동 줄바꿈처럼 적용도되긴하지만, 결과가 아래처럼 한문장으로 인식되지 않습니다.

문자열 테스트
ㄱ가가가
!@#$%^&*()가즈아아아아아아ㅏ아아아아아아아아ㅏ아아아아아ㅏ아아ㅏ아아하하아아ㅏ아아ㅏ
아아아자ㅏ자자가가자자ㅏ자

구현할 수 있는 방법이 없을까요??

owpml 봐도 hp:linesegarray에 대한 설명도 없고 하루 날려먹어서 문의글 남깁니다.

꼭 좀 도와주세요

1개의 좋아요

안녕하세요. 한컴디벨로퍼입니다.

문의 내용이 카테고리와 다르면 담당자가 내용을 확인하기 어렵습니다.
해당 문의는 한글 오토메이션으로 이동하도록 하겠습니다.

감사합니다.

1개의 좋아요

옮겨주셔서 감사합니다. 답변 기다리겠습니다…

1개의 좋아요

안녕하세요.

한글에는 문단 나눔과 줄 나눔 이라는 개념이 있는데요.
문의하신 내용은 줄 나눔에 대한 문의를 하신 것으로 이해하고 답변드리겠습니다.

문단 나눔은 아시다시피 문단을 나누는 개념이고, OWPML에서는 각 문단들에 대해 hp:p 태그로 구분짓고 있습니다.
줄 나눔은 한 문단을 줄로 나누는 개념이고, OWPML에서는 hp:lineBreak 태그로 표시를 합니다.

<한글 편집기 캡쳐>
줄나눔

<OWPML 표준에서 일부 발취>

section0.xml 일부
...
		<hp:run charPrIDRef="7">
			<hp:t>문단1 첫 번째 줄 [줄 나눔]<hp:lineBreak/>문단1 두 번째 줄 </hp:t>
		</hp:run>
...

참고로 linesegarray의 정보는 문단의 위치 정보(레이아웃 정보)로 OWPML 표준에 포함되지 않고
OWPML 표준을 기반으로 만든 한글 표준 문서인 HWPX에서 정의하는 레이아웃 정보입니다.

문의 내용의 성격이 한글 오토메이션에 맞지는 않아 현재 문의에 대한 답변만 남깁니다. :sob:
고객 지원을 통해 문의 부탁드립니다.

감사합니다.

1개의 좋아요

답변 감사합니다.

제가 내용 전달이 부족했던 것 같습니다.

hp:t 안에 hp:lineBreak로 shift + enter 친 것처럼 줄바꿈이 적용되는 건 확인했습니다.
근데 문의드렸던 내용은 shift + enter 하지 않고, 문단의 문자열을 장문으로 작성했을 때의 상황입니다.

짧은 문자열은 아래처럼 작성해도 문제없는데
hp:linesegarray
<hp:lineseg />
</hp:linesegarray>

장문의 경우 위처럼 hp:linesegarry작성하면 1줄에 장문의 문자열이 다 겹쳐서 나옵니다.

한글문서에서 엔터를 치지않고 장문으로 글을 썻을때 용지크기에 맞춰져 다른 라인에서 글을 계속 써내려 가면서 작성했던 문자열을 hp:t 사용하지 않고, 구현하고 싶어서 문의드렸습니다.

1개의 좋아요

문서 파일에는 모델에 대한 정보만 저장되기 때문에 @wh0am1 님이 문의주신 의도대로
문서 파일을 생성할 수 없습니다.

참고로 한글에서 문단의 레이아웃은 폰트, 크기, 여백 등 여러가지 속성들을 복합적으로 연산해서 표현합니다.

감사합니다.

1개의 좋아요