이 포괄적인 가이드는 HotPDF 컴포넌트를 사용하여 개발자가 PDF 문서에서 유니코드 세로쓰기 텍스트를 쉽게 생성하는 방법을 보여줍니다.
세로쓰기 조판은 한국어로 세로쓰기라고도 불리며, 2000년 이상 전 고대 중국에서 시작된 전통적인 텍스트 레이아웃 방법입니다. 이 문자 체계는 위에서 아래로, 오른쪽에서 왼쪽으로 흐르며, 깊은 문화적 의미를 가진 독특한 시각적 외관을 만들어냅니다.
세로쓰기 시스템은 동아시아의 문학과 문서에서 중요한 역할을 해왔습니다:
가로쓰기로의 전 세계적 경향에도 불구하고, 세로쓰기 텍스트 레이아웃은 여러 맥락에서 관련성을 유지하고 있습니다:
HotPDF Delphi 컴포넌트는 PDF 문서에서 세로쓰기 텍스트 레이아웃의 포괄적인 지원을 제공하여, 다국어 애플리케이션이나 전통적인 문서 형식으로 작업하는 개발자에게 이상적인 솔루션입니다.
다음 포괄적인 Delphi 코드 예제는 HotPDF 컴포넌트를 사용하여 세로쓰기 텍스트 렌더링을 구현하는 방법을 보여줍니다. 이 예제는 여러 언어에서 가로쓰기와 세로쓰기 텍스트 레이아웃을 모두 소개합니다.
{***********************************************************} // HotPDF PDF 컴포넌트 // Copyright(c)2007-2025, https://www.loslab.com {***********************************************************} { 유닛: uVerticalText 목적: HotPDF에서 세로쓰기 텍스트 출력 기능 시연 기능: - 가로쓰기 및 세로쓰기 텍스트 렌더링 - 다국어 지원(영어, 한국어, 일본어, 중국어) - 유니코드 문자 처리 - 적절한 표시를 위한 폰트 임베딩 } unit uVerticalText; interface {$I ..\..\..\Lib\HotPDF.inc} uses {$IFDEF XE2+} WinApi.Windows, WinApi.Messages, System.SysUtils, System.Classes, Vcl.Graphics, Vcl.StdCtrls, Vcl.Controls, Vcl.Dialogs, Vcl.Forms, {$ELSE} Windows, Messages, SysUtils, Graphics, Controls, StdCtrls, Classes, Dialogs, Forms, {$ENDIF} HPDFDoc; // PDF 생성용 HotPDF 컴포넌트 type // 세로쓰기 텍스트 시연용 메인 폼 클래스 TForm1 = class(TForm) Button1: TButton; // PDF 생성을 트리거하는 버튼 procedure Button1Click(Sender: TObject); private {프라이빗 선언} public {퍼블릭 선언} end; var Form1: TForm1; // 메인 폼 인스턴스 HotPDF: THotPDF; // HotPDF 컴포넌트 인스턴스 implementation {$R *.DFM} // 중요한 참고: 이전 버전의 Delphi는 유니코드 문자를 올바르게 처리할 수 없습니다. // 이 파일을 열려면 Delphi 2009 이상이 필요합니다. { 메서드: Button1Click 목적: 여러 언어에서 세로쓰기 및 가로쓰기 텍스트 출력 시연 매개변수: Sender - 이벤트를 트리거한 객체 기능: - 가로쓰기 및 세로쓰기 텍스트 모두로 PDF 생성 - 여러 언어로 텍스트 표시(영어, 한국어, 일본어, 중국어) - 적절한 문자 표시를 위한 유니코드 폰트 사용 - 다양한 텍스트 위치 지정 기법 시연 } procedure TForm1.Button1Click(Sender: TObject); begin // HotPDF 인스턴스 생성 HotPDF := THotPDF.Create(nil); try // PDF 생성 설정 구성 HotPDF.AutoLaunch := true; // 생성 후 PDF를 자동으로 열기 HotPDF.FontEmbedding := true; // 적절한 표시를 위해 폰트 임베딩 HotPDF.FileName := 'VerticalText.pdf'; // 출력 파일명 설정 // PDF 문서 생성 시작 HotPDF.BeginDoc; HotPDF.CurrentPage.Size := psA4; // 페이지 크기를 A4로 설정 // === 가로쓰기 텍스트 시연 === HotPDF.CurrentPage.SetFont('Arial Unicode MS', [], 12, 0, False); // 가로쓰기 텍스트 모드 설정 // 여러 언어로 가로쓰기 텍스트 출력 HotPDF.CurrentPage.TextOut(80, 70, 0, 'Horizontal Text 가로텍스트 가로쓰기 横向きのテキスト 横書き 横向文本 横書'); // 장식적인 구분선 추가 HotPDF.CurrentPage.TextOut(40, 110, 0, '※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※'); // === 세로쓰기 텍스트 시연 === HotPDF.CurrentPage.SetFont('Arial Unicode MS', [], 12, 0, true); // 세로쓰기 텍스트 모드 설정 // 혼합 언어 세로쓰기 텍스트(한국어, 일본어) HotPDF.CurrentPage.TextOut(530, 180, 0, '세로쓰기 縦書き 세로쓰기 垂直テキスト 수직 텍스트'); // 중국어 텍스트 - 독립선언서 발췌 HotPDF.CurrentPage.SetFont('Arial Unicode MS', [], 12, 0, true); HotPDF.CurrentPage.TextOut(500, 180, 0, '『我等之見解為,下述真理不證自明:凡人生而平等,秉造物者之賜,'); HotPDF.CurrentPage.TextOut(470, 180, 0, '擁諸無可轉讓之權利,包含生命權、自由權、與追尋幸福之權。』'); // 일본어 텍스트 - 전통 시 HotPDF.CurrentPage.TextOut(430, 180, 0, '昨日またかくてありけり、今日もまたかくてありなむ'); HotPDF.CurrentPage.TextOut(400, 180, 0, 'この命にを齷齪、明日をのみ思ひわづらふ'); HotPDF.CurrentPage.TextOut(370, 180, 0, 'いくたびか栄枯の夢の、消え残る谷に下りて'); HotPDF.CurrentPage.TextOut(340, 180, 0, '河波のいざよふ見れば、砂まじり水巻き帰る'); HotPDF.CurrentPage.TextOut(310, 180, 0, '嗚呼古城なにをか語り、岸の波なにをか答ふ、過し世を静かに思へ'); // 중국 고전시 - 이백의 시 HotPDF.CurrentPage.TextOut(270, 180, 0, '棄我去者昨日之日不可留,亂我心者今日之日多煩憂。'); HotPDF.CurrentPage.TextOut(240, 180, 0, '長風萬里送秋鴈,對此可以酣高樓。蓬萊文章建安骨,中間小謝又清發'); HotPDF.CurrentPage.TextOut(210, 180, 0, '俱懷逸興壯思飛,欲上青天攬明月。抽刀斷水水更流,舉杯消愁愁更愁'); HotPDF.CurrentPage.TextOut(180, 180, 0, '人生在世不稱意。明朝散髮弄扁舟。'); // 한국어 텍스트 - 현대시 // 참고: 호환성을 위해 Malgun Gothic 대신 Arial Unicode MS 사용 //HotPDF.CurrentPage.SetFont('Malgun Gothic', [], 12, 0, true); // 대체 한국어 폰트 HotPDF.CurrentPage.TextOut(140, 180, 0, '눈 맞으며 어둠 속을 떨며 가는 사람들을 위해、노래가 길이 되어 앞질러 가고'); HotPDF.CurrentPage.TextOut(110, 180, 0, '돌아올 길 없는 눈길 앞질러 가고'); HotPDF.CurrentPage.TextOut(80, 180, 0, '아름다움이 이 세상을 건질 때까지'); HotPDF.CurrentPage.TextOut(50, 180, 0, '절망에서 즐거움이 찾아올 때까지'); // === 푸터 장식 === HotPDF.CurrentPage.SetFont('Arial Unicode MS', [], 12, 0, False); // 가로쓰기 텍스트로 돌아가기 // 장식적인 푸터 라인 추가 HotPDF.CurrentPage.TextOut(40, 720, 0, '■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■'); // PDF 문서 완성 HotPDF.EndDoc; finally // 리소스 정리 HotPDF.Free; end; end; end.
PDF에서 세로쓰기 텍스트를 다룰 때, 다른 언어에서 올바른 문자 표시를 보장하기 위해 적절한 폰트 선택이 중요합니다:
FontEmbedding := true
를 활성화세로쓰기 텍스트의 위치 지정은 읽기 흐름과 문자 간격의 신중한 고려가 필요합니다:
HotPDF Delphi 컴포넌트는 세로쓰기 텍스트 레이아웃의 강력한 지원을 제공하여, 전통적인 아시아 조판이나 세로쓰기 텍스트 방향이 필요한 현대 디자인 애플리케이션으로 작업하는 개발자에게 탁월한 선택입니다. 유니코드 폰트의 적절한 구현, 신중한 위치 지정, 문화적 조판 관습에 대한 주의를 통해 전통적인 읽기 패턴을 존중하면서 현대 기술 표준을 유지하는 전문적인 PDF 문서를 만들 수 있습니다.
출판, 문서 관리, 창작 디자인 애플리케이션을 개발하든, HotPDF의 세로쓰기 텍스트 기능을 통해 다양한 글로벌 청중에게 서비스를 제공하는 문화적으로 적절하고 시각적으로 매력적인 PDF 문서를 만들 수 있습니다.
HotPDF Delphi组件:在PDF文档中创建垂直文本布局 本综合指南演示了HotPDF组件如何让开发者轻松在PDF文档中生成Unicode垂直文本。 理解垂直排版(縦書き/세로쓰기/竖排) 垂直排版,也称为垂直书写,中文称为縱書,日文称为tategaki(縦書き),是一种起源于2000多年前古代中国的传统文本布局方法。这种书写系统从上到下、从右到左流动,创造出具有深厚文化意义的独特视觉外观。 历史和文化背景 垂直书写系统在东亚文学和文献中发挥了重要作用: 中国:传统中文文本、古典诗歌和书法主要使用垂直布局。现代简体中文主要使用横向书写,但垂直文本在艺术和仪式场合仍然常见。 日本:日语保持垂直(縦書き/tategaki)和水平(横書き/yokogaki)两种书写系统。垂直文本仍广泛用于小说、漫画、报纸和传统文档。 韩国:历史上使用垂直书写(세로쓰기),但现代韩语(한글)主要使用水平布局。垂直文本出现在传统场合和艺术应用中。 越南:传统越南文本在使用汉字(Chữ Hán)书写时使用垂直布局,但随着拉丁字母的采用,这种做法已基本消失。 垂直文本的现代应用 尽管全球趋向于水平书写,垂直文本布局在几个方面仍然相关: 出版:台湾、日本和香港的传统小说、诗集和文学作品…
HotPDF Delphiコンポーネント:PDFドキュメントでの縦書きテキストレイアウトの作成 この包括的なガイドでは、HotPDFコンポーネントを使用して、開発者がPDFドキュメントでUnicode縦書きテキストを簡単に生成する方法を実演します。 縦書き組版の理解(縦書き/세로쓰기/竖排) 縦書き組版は、日本語では縦書きまたはたてがきとも呼ばれ、2000年以上前の古代中国で生まれた伝統的なテキストレイアウト方法です。この書字体系は上から下、右から左に流れ、深い文化的意義を持つ独特の視覚的外観を作り出します。 歴史的・文化的背景 縦書きシステムは東アジアの文学と文書において重要な役割を果たしてきました: 中国:伝統的な中国語テキスト、古典詩、書道では主に縦書きレイアウトが使用されていました。現代の簡体字中国語は主に横書きを使用していますが、縦書きテキストは芸術的・儀式的な文脈で一般的です。 日本:日本語は縦書き(縦書き/たてがき)と横書き(横書き/よこがき)の両方の書字体系を維持しています。縦書きテキストは小説、漫画、新聞、伝統的な文書で広く使用されています。 韓国:歴史的には縦書き(세로쓰기)を使用していましたが、現代韓国語(한글)は主に横書きレイアウトを使用しています。縦書きテキストは伝統的な文脈や芸術的応用で見られます。 ベトナム:伝統的なベトナム語テキストは漢字(Chữ Hán)で書かれた際に縦書きレイアウトを使用していましたが、この慣行はラテン文字の採用とともにほぼ消失しました。 縦書きテキストの現代的応用 横書きへの世界的な傾向にもかかわらず、縦書きテキストレイアウトはいくつかの文脈で関連性を保っています: 出版:台湾、日本、香港の伝統的な小説、詩集、文学作品…
Отладка проблем порядка страниц PDF: Реальный кейс-стади компонента HotPDF Опубликовано losLab | Разработка PDF |…
PDF 페이지 순서 문제 디버깅: HotPDF 컴포넌트 실제 사례 연구 발행자: losLab | PDF 개발…
PDFページ順序問題のデバッグ:HotPDFコンポーネント実例研究 発行者:losLab | PDF開発 | Delphi PDFコンポーネント PDF操作は特にページ順序を扱う際に複雑になることがあります。最近、私たちはPDF文書構造とページインデックスに関する重要な洞察を明らかにした魅力的なデバッグセッションに遭遇しました。このケーススタディは、一見単純な「オフバイワン」エラーがPDF仕様の深い調査に発展し、文書構造に関する根本的な誤解を明らかにした過程を示しています。 PDFページ順序の概念 - 物理的オブジェクト順序と論理的ページ順序の関係 問題 私たちはHotPDF DelphiコンポーネントのCopyPageと呼ばれるPDFページコピーユーティリティに取り組んでいました。このプログラムはデフォルトで最初のページをコピーするはずでしたが、代わりに常に2番目のページをコピーしていました。一見すると、これは単純なインデックスバグのように見えました -…
Debug dei Problemi di Ordine delle Pagine PDF: Studio di Caso Reale del Componente HotPDF…