From dbbfb51f8acd473d79c815faa7fffa548d5c809b Mon Sep 17 00:00:00 2001 From: airmang <38392618+airmang@users.noreply.github.com> Date: Sat, 24 Oct 2026 03:15:59 +0900 Subject: [PATCH] feat(layout): write line caches for more picture paragraphs, columns and pages clear of wrapped objects write_line_caches now also gives these paragraphs the lines Hancom writes: - a paragraph holding nothing but a picture set as a character with a caption (above or below it the caption's lines and its gap join the line, beside it the line stays as tall as the picture), with a soft edge or an inner shadow, in a paragraph spaced fixed, at least or between lines (spaced from the line's height), or setting its characters at the top, centre or bottom; - a paragraph holding several such pictures and nothing else, none of them affecting the line spacing, in a paragraph spaced by a percentage: as many pictures on a line as fit the column, each line as tall as its tallest; - the text and picture paragraphs of newspaper columns of equal width, laid out as wide as their column, where the columns change inside a section as wide as those they are in (they were measured at the section's first columns' width); - the paragraphs of a section with an object text runs beside, on the pages other than the one holding that object's paragraph and the next (the whole section was skipped). A picture whose glow, outer shadow or reflection takes room around it, one with a shadow written as a drawing's, a caption whose lines are less sure, and balanced or parallel columns are left for Hancom, as is a picture paragraph holding spaces. Saved as .hwp, the caches become the paragraphs' PARA_LINE_SEG records, which viewers other than Hancom Office use to place the pictures. Saving without calling write_line_caches is unchanged. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 17 ++ src/hwpx/layout/line_cache.py | 206 +++++++++++++----- .../line_cache_pictures_beside.hwpx | Bin 0 -> 68846 bytes .../line_cache_pictures_columns.hwpx | Bin 0 -> 74875 bytes .../line_cache_pictures_kinds.hwpx | Bin 0 -> 36588 bytes tests/test_layout_line_cache.py | 158 ++++++++++++-- 6 files changed, 315 insertions(+), 66 deletions(-) create mode 100644 tests/fixtures/hancom_saved/line_cache_pictures_beside.hwpx create mode 100644 tests/fixtures/hancom_saved/line_cache_pictures_columns.hwpx create mode 100644 tests/fixtures/hancom_saved/line_cache_pictures_kinds.hwpx diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b0b3974..07e78d31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,23 @@ 모든 중요한 변경 사항은 이 문서에 기록됩니다. 형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)과 [Semantic Versioning](https://semver.org/lang/ko/)을 따릅니다. +## [Unreleased] + +### 추가 + +- (실험) `write_line_caches(doc)`가 줄 배치 정보를 쓰는 문단을 넓힌다. 이 함수를 부른 뒤 `.hwp`로 저장하면 아래 그림 + 문단도 `PARA_LINE_SEG`를 얻어, 이 레코드로 그림 자리를 찾는 다른 HWP 뷰어가 그림을 그린다. + - 글자처럼 놓인 그림 하나만 든 문단: 캡션이 있는 그림(위·아래 캡션은 캡션의 줄과 간격만큼 줄이 높고, 옆 캡션은 그림 + 높이 그대로), 부드러운 가장자리나 안쪽 그림자가 있는 그림, 줄 간격이 고정·최소·줄 사이인 문단(간격은 그림 줄 높이에서 + 센다), 글자를 줄의 위·가운데·아래에 놓는 문단. + - 글자처럼 놓인 그림 여럿만 든 문단: 단 폭에 드는 만큼 한 줄에 놓고, 줄마다 그 줄의 가장 큰 그림 높이로 쓴다. 줄 간격에 + 영향을 주는 그림이 있거나 줄 간격이 비율이 아닌 문단은 쓰지 않는다. + - 너비가 같은 보통 다단 구역: 글 문단과 그림 문단을 그 단의 폭으로 쓴다. 구역 중간에서 단이 바뀌면 문단이 놓인 단의 + 폭으로 쓴다(전에는 구역 첫 단의 폭으로 쟀다). 고른 배분·평행 다단과 너비가 다른 단은 쓰지 않는다. + - 글이 개체 옆으로 흐르는 구역: 전에는 구역 전체를 건너뛰었지만, 이제 그 개체를 품은 문단이 놓인 쪽과 다음 쪽만 뺀다. + - 빛남·바깥 그림자·반사처럼 그림 둘레에 자리를 차지하는 효과가 있는 그림과 그리기 개체의 그림자(`hp:shadow`)가 있는 + 그림, 줄 나눔이 확실하지 않은 캡션이 달린 그림은 쓰지 않고 한/글에 맡긴다. + ## [6.9.0] - 2026-10-23 쪽 수 추정과 FormFit의 글자 폭·줄 나눔을 한컴오피스 2024의 한/글에 맞춘 릴리스입니다. 한양·HCI·KoPub 글꼴과 diff --git a/src/hwpx/layout/line_cache.py b/src/hwpx/layout/line_cache.py index 7e6137e1..7bec8c07 100644 --- a/src/hwpx/layout/line_cache.py +++ b/src/hwpx/layout/line_cache.py @@ -13,8 +13,11 @@ the baseline and the line spacing past it. The others come from :func:`hwpx.layout.pages.estimate_pages`. Hancom also draws a tab as wide as its ``hp:tab`` says once the paragraph has a cache, so each tab gets its width. -Only a paragraph Hancom would lay out from its text alone gets a cache: a body paragraph of text runs in a -section of one column where no object lets text run beside it. Tabs to the default tab stops, line breaks, +Only a paragraph Hancom would lay out from its text alone gets a cache: a body paragraph of text runs on a page +where no object lets text run beside it, in one column or in newspaper columns of equal width (as wide as its +column; where the columns change inside a section, as wide as those it is laid out in). An object letting text run +beside it (square, tight or through wrapping) leaves the pages its paragraph is on, and the next one, for Hancom. +Tabs to the default tab stops, line breaks, controls that take no room on a line (a header, a footer, a page number, the section's own definitions in its first paragraph), the start and end of a field (a hyperlink, a click-here field, a date, a mail merge field) anywhere in the text but in a section's first paragraph, a @@ -26,13 +29,20 @@ writes for that (0, half or all of the text height). A table's caption above or below it takes its lines and its gap in the table's line, when the caption's paragraphs are laid out surely. -The cells of a table in such a section get caches the same way when every paragraph of the cell is one of -these: their lines go down from the top of the cell's text area, as wide as that area in whole layout units and -never narrower than Hancom's narrowest line. A paragraph holding nothing but a table set as a character gets its -one line, as tall as the table, and the table its rows' height (``hp:sz``), as Hancom saves them, when every -paragraph of its cells is laid out surely. A paragraph holding nothing but a plain picture set as a character (no -caption, shadow or effects, in a paragraph spaced by a percentage) gets its one line, as tall as the picture and -its outer margins or as the paragraph's characters when they are taller. +The cells of a table in such a paragraph, in one column, get caches the same way when every paragraph of the cell +is one of these: their lines go down from the top of the cell's text area, as wide as that area in whole layout +units and never narrower than Hancom's narrowest line. A paragraph in one column holding nothing but a table set as +a character gets its one line, as tall as the table, and the table its rows' height (``hp:sz``), as Hancom saves +them, when every paragraph of its cells is laid out surely. + +A paragraph holding nothing but a picture set as a character gets its one line, as tall as the picture with its +outer margins and a caption above or below it (the caption's lines and its gap; one beside it takes none), or as +the paragraph's characters when they are taller, its baseline where the paragraph sets its characters, spaced as +its characters are unless the picture affects the line spacing or the spacing is not a percentage. One holding +several pictures, none of them affecting the line spacing, in a paragraph spaced by a percentage, gets a line for +each row of pictures as wide as the column, each as tall as its tallest picture. A picture whose glow, outer +shadow or reflection takes room around it, or with a shadow written as a drawing's (``hp:shadow``), is left for +Hancom, as is a caption whose lines are less sure. Saved as ``.hwp``, the caches become the paragraphs' ``PARA_LINE_SEG`` records, which viewers other than Hancom Office may need to place a picture; Hancom lays out a paragraph without one when it opens the file. @@ -163,20 +173,26 @@ def write_line_caches(document: "HwpxDocument") -> LineCacheReport: index = 0 for section in root.sections: page = _pages._page(section.element) - # lines beside an object are narrower, and an object in a switch (a chart) was not checked: left for Hancom - beside = _wraps_text(section.element) or bool(_pages._switched(section.element)) + # an object in a switch (a chart) was not checked: left for Hancom + switched = bool(_pages._switched(section.element)) paragraphs = section.element.findall(f"{HP}p") + columns = _column_widths(section.element, page) lines = estimate.lines[index:index + len(paragraphs)] index += len(paragraphs) + # lines beside an object are narrower: the pages where one stands are left for Hancom + beside = _pages_beside(section.element, lines) if _wraps_text(section.element) else set() + sure = [not switched and beside is not None and width is not None + and not any(line.page in beside for line in placed) for width, placed in zip(columns, lines)] changed = False for number, (paragraph, placed) in enumerate(zip(paragraphs, lines)): if paragraph.find(f"{HP}linesegarray") is not None: kept += 1 continue - laid = None if page.columns != 1 or beside else ( - _lines(measure, paragraph, page.column_width, first=number == 0) - or _table_line(measure, paragraph, page.column_width) - or _picture_line(measure, paragraph, page.column_width)) + width = columns[number] + laid = None if not sure[number] else ( + _lines(measure, paragraph, width, first=number == 0) + or (_table_line(measure, paragraph, width) if width == page.text_width else None) # one column + or _picture_lines(measure, paragraph, width)) if laid is None or len(laid[0]) != len(placed): skipped += 1 continue @@ -186,58 +202,128 @@ def write_line_caches(document: "HwpxDocument") -> LineCacheReport: _append_cache(paragraph, segments, tabs) written += 1 changed = True - if page.columns == 1 and not beside: - for table in (child for paragraph in paragraphs for run in paragraph.findall(f"{HP}run") - for child in run if _pages._local(child) == "tbl"): - cells = _cell_caches(measure, table) - written += cells[0] - skipped += cells[1] - kept += cells[2] - changed = changed or bool(cells[0]) + for table in (child for number, paragraph in enumerate(paragraphs) + if sure[number] and columns[number] == page.text_width # in one column + for run in paragraph.findall(f"{HP}run") for child in run if _pages._local(child) == "tbl"): + cells = _cell_caches(measure, table) + written += cells[0] + skipped += cells[1] + kept += cells[2] + changed = changed or bool(cells[0]) if changed: section.mark_dirty() return LineCacheReport(written, skipped, kept) -def _picture_line(measure: Any, paragraph: Any, width: int) -> tuple[list[dict[str, int]], list[int]] | None: - """The one line of a paragraph holding nothing but a picture set as a character, as Hancom writes it: as tall - as the picture and its outer margins, or as the paragraph's characters when they are taller, its baseline at - 85 % of that, spaced as the paragraph's characters are unless the picture affects the line spacing. Only a - plain picture: one with a caption, a shadow or effects, and a line spacing other than a percentage, are left - for Hancom. None for any other paragraph.""" +def _picture_lines(measure: Any, paragraph: Any, width: int) -> tuple[list[dict[str, int]], list[int]] | None: + """The lines of a paragraph holding nothing but pictures set as characters, as Hancom writes them; None for + any other paragraph. A picture alone takes one line, as tall as the picture with its outer margins and its + caption above or below it (its lines and its gap), or as the paragraph's characters when they are taller, + spaced as the paragraph's characters are unless the picture affects the line spacing or the spacing is not a + percentage (then from the line's height). Several pictures go on lines as wide as the + column, each line as tall as its tallest picture: only plain ones that do not affect the line spacing, in a + paragraph spaced by a percentage. A picture with a shadow drawn as a shape's (``hp:shadow``), a glow, an + outer shadow or a reflection, which Hancom lays out up to a unit from the estimate, and a caption whose lines + are less sure, are left for Hancom.""" runs = paragraph.findall(f"{HP}run") - picture = _pages._object_alone(runs) - if picture is None or _pages._local(picture) != "pic": + children = [child for run in runs for child in run] + pictures = [child for child in children if _pages._local(child) == "pic"] + if not pictures or _pages._run_text(runs) or any( + _pages._local(child) not in ("t", "pic", "secPr", "ctrl") + or _pages._local(child) == "ctrl" and not _takes_no_room(child, True) for child in children): return None - if any(_pages._local(child) not in ("t", "pic", "secPr", "ctrl") for run in runs for child in run): + if any(picture.find(f"{HP}pos").get("treatAsChar") != "1" or not _plain_picture(measure, picture) + for picture in pictures): return None - if any(_pages._local(child) == "ctrl" and not _takes_no_room(child, True) for run in runs for child in run): + vertical = _vertical_align(measure, paragraph.get("paraPrIDRef")) + shape = measure.shape(paragraph.get("paraPrIDRef")) + if vertical not in _BASELINES or shape.font_line: return None - shadow = picture.find(f"{HP}shadow") - effects = picture.find(f"{HP}effects") - if picture.find(f"{HP}caption") is not None or (shadow is not None and shadow.get("type", "NONE") != "NONE") \ - or (effects is not None and len(effects)): + room = width - shape.left - shape.right + headed = measure.headed(paragraph) + if len(pictures) == 1: + picture = pictures[0] + size = max(measure.char_height(run.get("charPrIDRef")) for run in runs) + tall = max(_pages._drawn_height(picture, measure) + _pages._extent_margins(picture) + + sum(_pages._caption(measure, picture)), size) + return [{ + "textpos": 0, + "vertpos": 0, + "vertsize": tall, + "textheight": tall, + "baseline": _BASELINES[vertical](tall), + "spacing": _pages._object_pitch(shape, picture, tall, size) - tall, + "horzpos": shape.left, + "horzsize": room, + "flags": _ONE_SEGMENT | (_LABELLED if headed else 0), + }], [] + if headed or shape.kind != "PERCENT" or vertical != "BASELINE" or any( + _pages._local(child) != "t" for child in children if _pages._local(child) != "pic") or any( + picture.find(f"{HP}caption") is not None or picture.find(f"{HP}pos").get("affectLSpacing") == "1" + for picture in pictures): return None - if _vertical_align(measure, paragraph.get("paraPrIDRef")) != "BASELINE": + try: + text, sizes, _, placed, _ = _pages._inline_content(measure, paragraph, runs) + except _pages._Unsupported: return None - shape = measure.shape(paragraph.get("paraPrIDRef")) - if shape.kind != "PERCENT": + style = measure.style(paragraph.get("paraPrIDRef"), [run.get("charPrIDRef") for run in runs], paragraph) + widths = _pages._indented(room, shape, style) + + def lay_out(room: list[float]) -> list[int]: + return _pages._metric_starts(measure, text, room, sizes, style, placed) + + starts = lay_out(widths) + if any(lay_out([line + shift for line in widths]) != starts for shift in (-_MARGIN, _MARGIN)): + return None # a picture ending this close to a line's end may go on to the next line in Hancom + metrics = _pages._line_metrics(measure, text, widths, sizes, style, shape, placed) + if len(metrics) != len(starts): return None - size = max(measure.char_height(run.get("charPrIDRef")) for run in runs) - tall = max(_pages._drawn_height(picture, measure) + _pages._extent_margins(picture), size) - advance = _pages._object_pitch(shape, picture, tall, size) return [{ - "textpos": 0, + "textpos": _CONTROL_LENGTH * start, # each picture takes eight characters "vertpos": 0, - "vertsize": tall, - "textheight": tall, - "baseline": (tall * 85 + 50) // 100, - "spacing": advance - tall, + "vertsize": height, + "textheight": height, + "baseline": _BASELINES[vertical](height), + "spacing": advance - height, "horzpos": shape.left, - "horzsize": width - shape.left - shape.right, - "flags": _ONE_SEGMENT | (_LABELLED if measure.headed(paragraph) else 0), - }], [] + "horzsize": room, + "flags": _ONE_SEGMENT, + } for start, (height, advance) in zip(starts, metrics)], [] + + +def _plain_picture(measure: Any, picture: Any) -> bool: + """Whether *picture* takes the room Hancom lays out for it surely: no shadow drawn as a shape's, only effects + that take no room (a soft edge, an inner shadow), and a caption beside it or above or below it laid out surely + (see :func:`_caption_sure`).""" + + shadow = picture.find(f"{HP}shadow") + if shadow is not None and shadow.get("type", "NONE") != "NONE": + return False # Hancom does not count it on a picture's line, the estimate does + effects = picture.find(f"{HP}effects") + if effects is not None and any( + not (_pages._local(effect) == "softEdge" + or _pages._local(effect) == "shadow" and effect.get("style") == "INSIDE") for effect in effects): + return False + return _caption_sure(measure, picture) + + +def _column_widths(section: Any, page: Any) -> list[int | None]: + """The width of the column each body paragraph of *section* is laid out in, as the estimate lays the column + areas out (see ``pages._column_areas``); None in columns of unequal width, and in balanced or parallel ones + (whose lines the estimate places otherwise than Hancom at times).""" + + paragraphs = section.findall(f"{HP}p") + bounds = [(0, _pages._first_columns(section)), *_pages._column_areas(section)] + widths: list[int | None] = [] + settings = None + for number, (start, found) in enumerate(bounds): + end = bounds[number + 1][0] if number + 1 < len(bounds) else len(paragraphs) + settings = found if found is not None else settings + count, width, unequal, _ = _pages._column_layout(settings, page.text_width) + newspaper = count == 1 or settings.get("type", "NEWSPAPER") == "NEWSPAPER" + widths += [width if newspaper and not unequal else None] * (end - start) + return widths def _table_line(measure: Any, paragraph: Any, width: int) -> tuple[list[dict[str, int]], list[int]] | None: @@ -578,6 +664,24 @@ def _wraps_text(section: Any) -> bool: return False +def _pages_beside(section: Any, lines: list[Any]) -> set[int] | None: + """The pages of *section* where text may run beside an object of it that is not set as a character (square, + tight or through wrapping): those its paragraph's lines are on, and the next one (it may reach past the + page's foot); None when one is in a header or a footer (on every page) or its paragraph has no line. *lines*: + the estimate's lines of each paragraph of the section.""" + + pages: set[int] = set() + for paragraph, placed in zip(section.findall(f"{HP}p"), lines): + for pos in paragraph.iter(f"{HP}pos"): + obj = pos.getparent() + if pos.get("treatAsChar") == "1" or obj.get("textWrap") not in ("SQUARE", "TIGHT", "THROUGH"): + continue + if not placed or any(_pages._local(above) in ("header", "footer") for above in obj.iterancestors()): + return None + pages.update(range(placed[0].page, placed[-1].page + 2)) + return pages + + def _control_places(runs: list[Any], first: bool) -> list[int] | None: """Where in the paragraph's text each of its controls stands, or None when the paragraph holds anything but text and controls that take no room on a line: a header, a footer, a page number and the other page controls diff --git a/tests/fixtures/hancom_saved/line_cache_pictures_beside.hwpx b/tests/fixtures/hancom_saved/line_cache_pictures_beside.hwpx new file mode 100644 index 0000000000000000000000000000000000000000..771f4672015fa25c44c3fba148a22777fa6c900c GIT binary patch literal 68846 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 z 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

|CND$5Is&+D+xBccet)3p~fYVEB9)4kf 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 F{U6c`@j3ti literal 0 HcmV?d00001 diff --git a/tests/fixtures/hancom_saved/line_cache_pictures_kinds.hwpx b/tests/fixtures/hancom_saved/line_cache_pictures_kinds.hwpx new file mode 100644 index 0000000000000000000000000000000000000000..a4de3aead1c030459c2595b8deb4d04aca25401f GIT binary patch literal 36588 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�W+O!|D6f* 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 voqzW({%RzAev list: @@ -634,25 +636,151 @@ def test_a_paragraph_holding_a_picture_gets_one_line_carried_into_an_hwp_save() assert _segments(_body(reopened)[-1]) == picture_line -@pytest.mark.parametrize("change", ["caption", "shadow", "fixed"]) -def test_a_picture_with_a_caption_a_shadow_or_a_fixed_spacing_is_left_to_hancom(change: str) -> None: +def _spaced(document: HwpxDocument, paragraph, kind: str, value: int) -> None: + hh = "{http://www.hancom.co.kr/hwpml/2011/head}" + document.styles.apply_paragraph_format(paragraphs=[paragraph], line_spacing_percent=161) + shape_id = paragraph.element.get("paraPrIDRef") + for shape in document.oxml.headers[0].element.iter(f"{hh}paraPr"): + if shape.get("id") == shape_id: + for spacing in shape.iter(f"{hh}lineSpacing"): + spacing.attrib.update({"type": kind, "value": str(value)}) + + +@pytest.mark.parametrize("change", ["empty caption", "shadow", "glow", "outer shadow", "reflection"]) +def test_a_picture_whose_room_is_less_sure_is_left_to_hancom(change: str) -> None: + # Hancom does not count a shadow written as a drawing's on a picture's line (the estimate does), and lays a glow, + # an outer shadow and a reflection out a unit from the estimate at some sizes: those pictures are left for it. + from hwpx.oxml import PictureGlow, PictureReflection, PictureShadow + + effects = {"glow": {"glow": PictureGlow(radius=2000)}, "outer shadow": {"shadow": PictureShadow(distance=0)}, + "reflection": {"reflection": PictureReflection()}} document = HwpxDocument.new() - picture = document.add_picture(_png(), "png", width_mm=40, height_mm=20) - element = _body(document)[-1].find(f".//{HP}pic") - if change == "caption": + picture = document.add_picture(_png(), "png", width_mm=40, height_mm=20, **effects.get(change, {})) + element = picture.element + if change == "empty caption": # a caption without a paragraph element.append(element.makeelement(f"{HP}caption", {"side": "BOTTOM", "gap": "850"})) elif change == "shadow": element.append(element.makeelement(f"{HP}shadow", {"type": "PARALLEL_RIGHTBOTTOM", "offsetY": "283"})) - else: - document.styles.apply_paragraph_format(paragraphs=[document.paragraphs[-1]], line_spacing_percent=160) - hh = "{http://www.hancom.co.kr/hwpml/2011/head}" - shape_id = _body(document)[-1].get("paraPrIDRef") - for shape in document.oxml.headers[0].element.iter(f"{hh}paraPr"): - if shape.get("id") == shape_id: - for spacing in shape.iter(f"{hh}lineSpacing"): - spacing.set("type", "FIXED") - assert picture is not None write_line_caches(document) assert not _segments(_body(document)[-1]) + + +@pytest.mark.parametrize(("side", "tall"), [("TOP", 5669 + 850 + 1000), ("BOTTOM", 5669 + 850 + 1000), + ("LEFT", 5669), ("RIGHT", 5669)]) +def test_a_picture_with_a_caption_holds_it_in_its_line(side: str, tall: int) -> None: + # Hancom makes a picture's line as tall as the picture, the gap and the caption's line for a caption above or + # below it, and as the picture alone for one beside it, however tall the caption runs. + document = HwpxDocument.new() + document.add_picture(_png(), "png", width_mm=40, height_mm=20).set_caption("그림 1", side=side) + + write_line_caches(document) + + assert [(s["vertsize"], s["textheight"], s["spacing"]) for s in _segments(_body(document)[-1])] == [ + (str(tall), str(tall), "600")] + + +@pytest.mark.parametrize(("kind", "value", "spacing"), [("FIXED", 2500, 2500 - 5669), ("AT_LEAST", 6000, 6000 - 5669), + ("AT_LEAST", 3000, 0), ("BETWEEN_LINES", 300, 300)]) +def test_a_picture_in_a_paragraph_not_spaced_by_a_percentage_is_spaced_from_its_line( + kind: str, value: int, spacing: int) -> None: + # Hancom spaces such a line from its own height, the picture's: a fixed spacing keeps the next line that far + # down even below the picture, at least one no less than the picture. + document = HwpxDocument.new() + document.add_picture(_png(), "png", width_mm=40, height_mm=20) + _spaced(document, document.paragraphs[-1], kind, value) + + write_line_caches(document) + + assert [(s["vertsize"], s["spacing"]) for s in _segments(_body(document)[-1])] == [("5669", str(spacing))] + + +def test_pictures_side_by_side_go_on_lines_as_wide_as_the_column() -> None: + # Hancom puts as many pictures on a line as fit it, each line as tall as its tallest picture, each picture + # eight characters along the line's text: three pictures 20,000 wide (two to a line of 42,520) take two lines. + document = HwpxDocument.new() + paragraph = document.add_paragraph("", include_run=False) + image = document.media.add_image(_png(), "png") + for height in (3000, 5000, 1000): + paragraph.add_picture(image, width=20000, height=height) + + write_line_caches(document) + + assert [(s["textpos"], s["vertsize"], s["spacing"]) for s in _segments(_body(document)[-1])] == [ + ("0", "5000", "600"), ("16", "1000", "600")] + + +def test_pictures_side_by_side_affecting_the_line_spacing_are_left_to_hancom() -> None: + document = HwpxDocument.new() + paragraph = document.add_paragraph("", include_run=False) + image = document.media.add_image(_png(), "png") + for _ in range(2): + paragraph.add_picture(image, width=8000, height=3000).element.find(f"{HP}pos").set("affectLSpacing", "1") + + write_line_caches(document) + + assert not _segments(_body(document)[-1]) + + +def test_paragraphs_in_newspaper_columns_are_laid_out_as_wide_as_their_column() -> None: + # Two columns 20,660 wide: text breaks into lines as wide as a column, and from a paragraph starting two columns + # inside the section (its column definition left for Hancom) the paragraphs after it are laid out in those. + document = HwpxDocument.new() + document.add_paragraph("한 단 " + "가나다라마바사 " * 8) + document.page.set_columns(2, same_gap=1200, paragraph=document.add_paragraph("두 단 시작")) + document.add_paragraph("두 단 " + "가나다라마바사 " * 8) + document.add_picture(_png(), "png", width_mm=40, height_mm=20) + + write_line_caches(document) + + one, start, two, picture = (_segments(p) for p in _body(document)[1:]) + assert not start + assert [s["horzsize"] for s in one] == ["42520"] * 2 + assert [s["horzsize"] for s in two] == ["20660"] * 4 + assert [(s["vertsize"], s["horzsize"]) for s in picture] == [("5669", "20660")] + + +@pytest.mark.parametrize("kind", ["BALANCED_NEWSPAPER", "PARALLEL"]) +def test_paragraphs_in_balanced_or_parallel_columns_are_left_to_hancom(kind: str) -> None: + document = HwpxDocument.new() + document.page.set_columns(2, col_type=kind) + document.add_paragraph("두 단 글") + + write_line_caches(document) + + assert not _segments(_body(document)[-1]) + + +def test_the_page_of_an_object_text_runs_beside_and_the_next_are_left_to_hancom() -> None: + # Text beside a square-wrapped picture breaks into shorter lines: the page holding the picture's paragraph and + # the one after it are left for Hancom, the pages after those laid out as any other. + document = HwpxDocument.new() + image = document.media.add_image(_png(), "png") + document.add_paragraph("감싸기 그림 문단").add_picture( + image, width=12000, height=12000, treat_as_char=False, text_wrap="SQUARE", + pos_overrides={"vertRelTo": "PARA", "horzRelTo": "COLUMN"}) + for _ in range(100): + document.add_paragraph("가나다라마바사 아자차카타파하 " * 4) + document.add_picture(_png(), "png", width_mm=40, height_mm=20) + + write_line_caches(document) + + pages = [lines[0].page for lines in estimate_pages(document.to_bytes()).lines] + assert pages[-1] >= 3 + for paragraph, page in zip(_body(document)[1:], pages[1:]): # the template's first paragraph has its own + assert bool(_segments(paragraph)) == (page > 1), page + + +def test_pictures_hancom_lays_out_otherwise_than_the_estimate_keep_no_cache() -> None: + # The fixture ends with a picture under a caption too long for its lines, one with a glow, one with an outer + # shadow and two pictures affecting the line spacing: those get none, every picture before them does. + document = HwpxDocument.open(FIXTURES / "line_cache_pictures_kinds.hwpx") + for paragraph in _body(document): + for cache in paragraph.findall(f"{HP}linesegarray"): + paragraph.remove(cache) + + write_line_caches(document) + + pictures = [p for p in _body(document) if p.find(f".//{HP}pic") is not None] + assert [bool(_segments(p)) for p in pictures] == [True] * (len(pictures) - 4) + [False] * 4