open pdf file in new tab in asp.net c# : How to delete text from pdf reader control SDK system web page .net winforms console PDFlib-manual9-part1377

4.5  Unicode Support 91
> bytes: one byte in the string corresponds to one character, and the string will be out-
put without any interpretation. This is mainly useful for 8-bit encodings. In addi-
tion, UTF-16 strings with big-endian BOM will automatically be detected. In C, such 
strings must be terminated with a double-null unless the length in bytes is explicitly 
supplied in the respective function call.
The default setting for the hypertextformat parameter is auto.
4.5.4 Unicode Support in PDFlib Language Bindings
Unicode in the C language binding. Clients of the C language binding must take care 
not to use the standard text (PDF_show( ), PDF_show_xy( ), and PDF_continue_text( )) or hy-
pertext functions (PDF_add_bookmark( ), etc.) when the text may contain embedded null 
characters. In such cases the alternate functions PDF_show2( ) etc. must be used, and the 
length of the string must be supplied separately. This is not a concern for all other lan-
guage bindings since the PDFlib language wrappers internally call PDF_show2( ) etc. in 
the first place.
Unicode-aware language bindings. The following PDFlib language bindings are Uni-
code-capable:
> COM
> .NET
> Java
> Tcl (requires Tcl 8.2 or above)
These language wrappers will correctly deal with Unicode strings provided by the client, 
and automatically set certain PDFlib parameters. This has the following consequences:
> Since the language wrapper automatically sets the textformat and hypertextformat 
parameters to utf16, these are no longer accessible by the client, and must not be 
used.
> Using unicode encoding for page descriptions is the easiest way to deal with encod-
ings.
> Non-Unicode CMaps for standard CJK fonts on page descriptions must be avoided 
since the wrapper will always supply Unicode to the PDFlib core; only UCS2 CMaps 
can be used.
The overall effect is basically that clients can provide plain Unicode strings to PDFlib 
functions without any additional configuration or parameter settings required.
How to delete text from pdf reader - delete, remove text from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# developers to use mature APIs to delete and remove text content from PDF document
pull text out of pdf; how to remove text watermark from pdf
How to delete text from pdf reader - VB.NET PDF delete text library: delete, remove text from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Programming Guide to Delete Text from PDF File
how to delete text from a pdf document; delete text pdf document
92
Chapter 4:  Text Handling
4.6 Text Metrics, Text Variations, and Box Formatting
4.6.1 Font and Character Metrics
Text position. PDFlib maintains the text position independently from the current 
point for drawing graphics. While the former can be queried via the textx/texty parame-
ters, the latter can be queried via currentx/currenty.
Character metrics. PDFlib uses the character and font metrics system used by Post-
Script and PDF which shall be briefly discussed here.
The font size which must be specified by PDFlib users is the minimum distance be-
tween adjacent text lines which is required to avoid overlapping character parts. The 
font size is generally larger than individual characters in a font, since it spans ascender 
and descender, plus possibly additional space between lines.
The leading (line spacing) specifies the vertical distance between the baselines of ad-
jacent lines of text. By default it is set to the value of the font size. The capheight is the 
height of capital letters such as T or H in most Latin fonts. The ascender is the height of 
lowercase letters such as f or d in most Latin fonts. The descender is the distance from the 
baseline to the bottom of lowercase letters such as j or p in most Latin fonts. The de-
scender is usually negative. The values of capheight, ascender, and descender are mea-
sured as a fraction of the font size, and must be multiplied with the required font size 
before being used.
The values of capheight, ascender, and descender for a specific font can be queried 
from PDFlib as follows:
float capheight, ascender, descender, fontsize;
...
font = PDF_load_font(p, "Times-Roman", 0 "winansi", "");
PDF_setfont(p, font, fontsize);
capheight = PDF_get_value(p, "capheight", font) * fontsize;
ascender = PDF_get_value(p, "ascender", font) * fontsize;
descender = PDF_get_value(p, "descender", font) * fontsize;
Note The position and size of superscript and subscript cannot be queried from PDFlib.
CPI calculations. While most fonts have varying character widths, so-called mono-
spaced fonts use the same widths for all characters. In order to relate PDF font metrics to 
the characters per inch (CPI) measurements often used in high-speed print environ-





Fig. 4.3 Font and character metrics
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
›› VB.NET PDF: Delete PDF Page. VB.NET PDF - How to Delete PDF Document Page in VB.NET. Visual Basic Sample Codes to Delete PDF Document Page in VB.NET Class.
delete text pdf acrobat professional; erase pdf text online
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Page: Delete Existing PDF Pages. |. Home ›› XDoc.PDF ›› C# PDF: Delete PDF Page. C#.NET PDF Library - Delete PDF Document Page in C#.NET.
how to delete text from pdf; delete text from pdf with acrobat
4.6  Text Metrics, Text Variations, and Box Formatting 93
ments, some calculation examples for the mono-spaced Courier font may be helpful. In 
Courier, all characters have a width of 600 units with respect to the full character cell of 
1000 units per point (this value can be retrieved from the corresponding AFM metrics 
file). For example, with 12 point text all characters will have an absolute width of
12 points * 600/1000 = 7.2 points
with an optimal line spacing of 12 points. Since there are 72 points to an inch, exactly 10 
characters of Courier 12 point will fit in an inch. In other words, 12 point Courier is a 10 
cpi font. For 10 point text, the character width is 6 points, resulting in a 72/6 = 12 cpi 
font. Similarly, 8 point Courier results in 15 cpi.
4.6.2 Kerning
Some character combinations can lead to unpleasant appearance. For example, two Vs 
next to each other can look like a W, and the distance between T and e must be reduced 
in order to avoid ugly white space. This compensation is referred to as kerning. Many 
fonts contain comprehensive kerning tables which contain spacing adjustment values 
for certain critical letter pairs.
PDFlib supports kerning for PostScript, TrueType and OpenType fonts, but not for 
PostScript host fonts on the Mac (fonts fetched from the operating system). There are 
two PDFlib controls for the kerning behavior:
> By default, kerning information in a font is not read when loading a font. If kerning 
is desired the kerning option must be set in the respective call to PDF_load_font( ). This 
instructs PDFlib to read the font’s kerning data (if available).
> When a font for which kerning data has been read is used with any text output func-
tion, the positional corrections provided by the kerning data will be applied. How-
ever, kerning can also be disabled by setting the kerning parameter to false:
PDF_set_parameter(p, "kerning", "false"); /* disable kerning */
No kerning
Kerning applied
Character movement caused by kerning
Fig. 4.4 Kerning
VB.NET PDF Text Extract Library: extract text content from PDF
PDF ›› VB.NET PDF: Extract PDF Text. VB.NET PDF - Extract Text from PDF Using VB. How to Extract Text from PDF with VB.NET Sample Codes in .NET Application.
how to delete text in pdf file; delete text from pdf preview
C# PDF Text Extract Library: extract text content from PDF file in
XDoc.PDF ›› C# PDF: Extract PDF Text. C# PDF - Extract Text from PDF in C#.NET. Feel Free to Extract Text from PDF Page, Page Region or the Whole PDF File.
remove text from pdf preview; how to delete text in pdf using acrobat professional
94
Chapter 4:  Text Handling
Temporarily disabling kerning may be useful, for example, for tabular figures when 
the kerning data contains pairs of figures, since kerned figures wouldn’t line up in a 
table.
Kerning is applied in addition to any character spacing, word spacing, and horizontal 
scaling which may be activated. Note, however, that the combination of horizontal 
spacing and kerning only works correctly in Acrobat 4.05 and above, but not any older 
versions.
PDFlib does not have any limit for the number of kerning pairs in a font.
4.6.3 Text Variations
Artificial font styles. Bold and italic variations of a font should normally be created by 
choosing an appropriate font. In addition, PDFlib also supports artificial font styles: 
based on a regular font Acrobat will simulate bold, italic, or bolditalic styles by embold-
ening or slanting the base font. The aestethic quality of artificial font styles does not 
match those of real bold or italic fonts which have been fine-tuned by the font designer. 
However, in situations where a particular font style is not available directly, artificial 
styles can be used as a workaround. In particular, artificial font styles are useful for the 
standard CJK fonts which support only normal fonts, but not any bold or italic variants.
Due to restrictions in Adobe Acrobat, artificial font styles work only if all of the fol-
lowing conditions are true:
> The base font is a TrueType or OpenType font, including standard and custom CJK 
fonts.
> The base font must not be embedded.
> The base font must be installed on the target system where the PDF will be viewed.
While PDFlib will check the first two conditions, it is the user’s responsibility to ensure 
the last one.
Artificial font styles can be requested by using one of the normal (no change of the 
base font), bold, italic, or bolditalic keywords for the fontstyle option of PDF_load_font( ):
PDF_load_font(p, "HeiseiKakuGo-W5", 0, "UniJIS-UCS2-H", "fontstyle bold");
Underline, overline, and strikeout text. PDFlib can be instructed to put lines below, 
above, or in the middle of text. The stroke width of the bar and its distance from the 
baseline are calculated based on the font’s metrics information. In addition, the current 
values of the horizontal scaling factor and the text matrix are taken into account when 
calculating the width of the bar. PDF_set_parameter( ) can be used to switch the under-
line, overline, and strikeout feature on or off as follows:
PDF_set_parameter(p, "underline", "true");
/* enable underlines */
The current stroke color is used for drawing the bars. The current linecap and dash pa-
rameters are ignored, however. Aesthetics alert: in most fonts underlining will touch 
descenders, and overlining will touch diacritical marks atop ascenders.
Note The underline, overline, and strikeout features are not supported for standard CJK fonts unless 
a UCS2 CMap is used.
Text rendering modes. PDFlib supports several rendering modes which affect the ap-
pearance of text. This includes outline text and the ability to use text as a clipping path. 
C# PDF insert text Library: insert text into PDF content in C#.net
Supports adding text to PDF in preview without adobe reader installed in ASP.NET. Powerful .NET PDF edit control allows modify existing scanned PDF text.
pdf text remover; delete text pdf acrobat
C# PDF Text Search Library: search text inside PDF file in C#.net
Text: Search Text in PDF. C# Guide about How to Search Text in PDF Document and Obtain Text Content and Location Information with .NET PDF Control.
remove text from pdf; delete text pdf preview
4.6  Text Metrics, Text Variations, and Box Formatting 95
Text can also be rendered invisibly which may be useful for placing text on scanned im-
ages in order to make the text accessible to searching and indexing, while at the same 
time assuring it will not be visible directly. The rendering modes are described in Table 
4.4. They can be set with PDF_set_value( ) and the textrendering parameter.
PDF_set_value(p, "textrendering", 1);
/* set stroked text rendering (outline text) */
When stroking text, graphics state parameters such as linewidth and color will be ap-
plied to the glyph outline. The rendering mode has no effect on text displayed using a 
Type 3 font.
Text color. Text will usually be display in the current fill color, which can be set using 
PDF_setcolor( ). However, if a rendering mode other than 0 has been selected, both stroke 
and fill color may affect the text depending on the selected rendering mode.
4.6.4 Box Formatting
While PDFlib offers the PDF_stringwidth( ) function for performing text width calcula-
tions, many clients need easy access to text box formatting and justifying, e.g. to fit a 
certain amount of text into a given column. Although PDFlib offers such features, you 
shouldn’t think of PDFlib as a full-featured text and graphics layout engine. The PDF_
show_boxed( ) function is an easy-to-use method for text box formatting with a number 
of formatting options. Text may be laid out in a rectangular box either left-aligned, 
right-aligned, centered, or fully justified. The first line of text starts at a baseline with a 
vertical position which equals the top edge of the supplied box minus the leading. The 
bottom edge of the box serves as the last baseline used. For this reason, descenders of 
the last text line may appear outside the specified box (see Figure 4.5).
This function justifies by adjusting the inter-word spacing (the last line will be left-
aligned only). Obviously, this requires that the text contains spaces (PDFlib will not in-
sert spaces if the text doesn’t contain any). Advanced text processing features such as 
hyphenation are not available – PDFlib simply breaks text lines at existing whitespace 
characters. Text is never clipped at the boundaries of the box. 
Supplying a feature parameter of blind can be useful to determine whether a string 
fits in a given box, without actually producing any output.
ASCII newline characters (ox0A) in the supplied text are recognized, and force a new 
paragraph. CR/NL combinations are treated like a single newline character. Other for-
matting characters (especially tab characters) are not supported.
The following is a small example of using PDF_show_boxed( ). It uses PDF_rect( ) to 
draw an additional border around the box which may be helpful in debugging:
text = "In an attempt to reproduce sounds more accurately, pinyin spellings often ... ";
fontsize = 13;
Table 4.4 Values for the text rendering mode
value
explanation
value
explanation
0
fill text
4
fill text and add it to the clipping path
1
stroke text (outline)
5
stroke text and add it to the clipping path
2
fill and stroke text
6
fill and stroke text and add it to the clipping path
3
invisible text
7
add text to the clipping path
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
C#.NET PDF SDK - Convert PDF to Text in C#.NET. Integrate following RasterEdge C#.NET text to PDF converter SDK dlls into your C#.NET project assemblies;
how to delete text from a pdf in acrobat; how to erase pdf text
C# PDF metadata Library: add, remove, update PDF metadata in C#.
Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata in .NET Project. Remove and delete metadata from PDF file.
how to erase text in pdf file; delete text from pdf acrobat
96
Chapter 4:  Text Handling
font = PDF_load_font(p, "Helvetica", 0, "auto", "");
PDF_setfont(p, font, fontsize);
x = 50;
y = 650;
w = 357;
h = 6 * fontsize;
c = PDF_show_boxed(p, text, x, y, w, h, "justify", "");
if (c > 0 ) {
/* Not all characters could be placed in the box; act appropriately here */
...
}
PDF_rect(p, x, y, w, h);
PDF_stroke(p);
The following requirements and restrictions of PDF_show_boxed( ) shall be noted:
> The function supports only the setting bytes for the textformat parameter, or the set-
ting auto in combination with an 8-bit encoding.
> Contiguous blanks in the text should be avoided.
> Due to restrictions in PDF’s word spacing support, the space character must be avail-
able at code position 0x20 in the encoding. Although this is the case for most com-
mon encodings, it implies that justification will not work with EBCDIC encoding.
> The simplistic formatting algorithm may fail for unsuitable combinations of long 
words and narrow columns since there is no hyphenation support.
> Since the bottom part of the box is used as a baseline, descenders in the last line may 
extend beyond the box area.
> It’s currently not possible to feed the text in multiple portions into the box format-
ting routine. However, you can retrieve the text position after calling PDF_show_
boxed( ) with the textx and texty parameters.
> The font within the text box can’t be changed.
> Text box formatting is only supported for 8-bit encodings.
In  an  attempt  to  reproduce  sounds  more  accurately,  pinyin
spellings  often  differ  markedly  from  the  older  ones,  and
personal  names  are  usually  spelled  without  apostrophes  or
hyphens;  an  apostrophe  is  sometimes  used,  however,  to
avoid  ambiguity  when  syllables  are  run  together  (as  in
Chang´an to distinguish it from Chan´gan).
Fig. 4.5  Text box formatting: the bottom edge will serve as the last baseline, not as a clipping border.
4.7  Chinese, Japanese, and Korean Text 97
4.7 Chinese, Japanese, and Korean Text
4.7.1 CJK support in Acrobat and PDF
Acrobat/PDF supports a set of standard CJK fonts without font embedding, as well as 
custom embedded CJK fonts. While embedded CJK fonts will work in all versions of 
Acrobat without further ado, using any of the standard CJK fonts in Acrobat requires the 
user to do one of the following
1
:
> Use a localized CJK version of Acrobat.
> If you use any non-CJK version of the full Acrobat product, select the Acrobat install-
er’s option »Asian Language Support« (Windows) or »Language Kit« (Mac). The re-
quired support files (fonts and CMaps) will be installed from the Acrobat product 
CD-ROM.
> If you use Acrobat Reader, install one of the Asian Font Packs which are available on 
the Acrobat product CD-ROM, or on the Web.
2
Printing PDF documents with CJK text. Printing CJK documents gives rise to a number 
of issues which are outside the scope of this manual. However, we will supply some use-
ful hints for the convenience of PDFlib users. If you have trouble printing CJK docu-
ments (especially those using the standard fonts) with Acrobat, consider the following:
> Acrobat’s CJK support is based on CID fonts. Printing CID fonts does not work on all 
PostScript printers. Native CID font support has only been integrated in PostScript 
version 2015, i.e., PostScript Level 1 and early Level 2 printers do not natively support 
CID fonts. However, for early Level 2 devices the printer driver is supposed to take 
care of this by downloading an appropriate set of compatibility routines to pre-2015 
Level 2 printers.
> Due to the large number of characters CID fonts consume very much printer memo-
ry unless font subsetting has been applied. Disk files for full CJK fonts typically are 5 
to 10 MB in size. Not all printers have enough memory for printing such fonts. For 
example, in our testing we found that we had to upgrade a Level 3 laser printer from 
16 MB to 48 MB RAM in order to reliably print PDF documents with CID fonts.
> Non-Japanese PostScript printers do not have any Japanese fonts installed. For this 
reason, you must check Download Asian Fonts in Acrobat’s print dialog.
> If you can’t successfully print using downloaded fonts, check Print as image in Acro-
bat’s print dialog. This instructs Acrobat to send a bitmapped version of the page to 
the printer (300 dpi, though).
4.7.2 Standard CJK Fonts and CMaps
Historically, a wide variety of CJK encoding schemes has been developed by diverse 
standards bodies, companies, and other organizations. Fortunately, all prevalent encod-
ings are supported by Acrobat and PDF by default. Since the concept of an encoding is 
much more complicated for CJK text than for Latin text, simple 8-bit encodings no long-
er suffice. Instead, PostScript and PDF use the concept of character collections and char-
acter maps (CMaps) for organizing the characters in a font.
1. This is a good opportunity to praise Ken Lunde’s seminal tome »CJKV information processing – Chinese, Japanese, Korean 
& Vietnamese Computing« (O’Reilly 1999, ISBN 1-56592-224-7), as well as his work at Adobe since he’s one of the driving 
forces behind CJK support in PostScript and PDF.
2. See http://www.adobe.com/products/acrobat/acrrasianfontpack.html 
98
Chapter 4:  Text Handling
Acrobat supports a number of standard fonts for CJK text. These fonts are supplied 
with the Acrobat installation (or the Asian FontPack), and therefore don’t have to be em-
bedded in the PDF file. These fonts contain all characters required for common encod-
ings, and support both horizontal and vertical writing modes. The standard fonts and 
CMaps are documented in Table 4.5. The Acrobat 4 fonts can also be used with Acrobat 5, 
but the corresponding Acrobat 5 fonts will be used for display and printing if a required 
font is not installed on the system.
Note Acrobat’s standard CJK fonts do not support bold and italic variations. However, these can be 
simulated with the artificial font style feature (see Section 4.6.3, »Text Variations«, page 94).
As can be seen from the table, the default CMaps support most CJK encodings used on 
Mac, Windows, and Unix systems, as well as several other vendor-specific encodings. In 
particular, the major Japanese encoding schemes Shift-JIS, EUC, ISO 2022, and Unicode 
(UCS-2) are supported. Tables with all supported characters are available from Adobe
1
CMap descriptions can be found in Table 4.6.
Note Unicode-capable language bindings must only use UCS2-compatible CMaps. Other CMaps are 
not supported.
Horizontal and vertical writing mode. PDFlib supports both horizontal and vertical 
writing modes for standard CJK fonts and CMaps. The mode is selected along with the 
encoding by choosing the appropriate CMap name. CMaps with names ending in -H se-
lect horizontal writing mode, while the -V suffix selects vertical writing mode.
1. See http://partners.adobe.com/asn/developer/typeforum/cidfonts.html for a wealth of resources related to CID fonts, 
including tables with all supported glyphs (search for »character collection«).
Table 4.5 Acrobat’s standard fonts and CMaps (encodings) for Japanese, Chinese, and Korean text
locale
font name
sample
supported CMaps (encodings)
Simplified 
Chinese
STSong-Light
1
STSongStd-Light-Acro
2
1. Available in Acrobat 4; Acrobat 5 will substitute these with different fonts.
2. Available in Acrobat 5 only.
GB-EUC-H, GB-EUC-V, GBpc-EUC-H, GBpc-EUC-V, 
GBK-EUC-H, GBK-EUC-V, GBKp-EUC-H, GBKp-EUC-V, 
GBK2K-H, GBK2K-V, UniGB-UCS2-H, UniGB-UCS2-V
Traditional 
Chinese
MHei-Medium
1
MSung-Light
1
MSungStd-Light-Acro
2
B5pc-H, B5pc-V, HKscs-B5-H, HKscs-B5-V, ETen-B5-H, 
ETen-B5-V, ETenms-B5-H, ETenms-B5-V, CNS-EUC-H, 
CNS-EUC-V, UniCNS-UCS2-H, UniCNS-UCS2-V
Japanese
HeiseiKakuGo-W5
1
HeiseiMin-W3
1
KozMinPro-Regular-Acro
2
83pv-RKSJ-H, 90ms-RKSJ-H, 90ms-RKSJ-V, 90msp-
RKSJ-H, 90msp-RKSJ-V, 90pv-RKSJ-H, Add-RKSJ-H, 
Add-RKSJ-V, EUC-H, EUC-V, Ext-RKSJ-H, Ext-RKSJ-V, 
H, V, UniJIS-UCS2-H, UniJIS-UCS2-V, UniJIS-UCS2-
HW-H, UniJIS-UCS2-HW-V
Korean
HYGoThic-Medium
1
HYSMyeongJo-Medium
1
HYSMyeongJoStd-Medium-
Acro
2
KSC-EUC-H, KSC-EUC-V, KSCms-UHC-H, KSCms-
UHC-V, KSCms-UHC-HW-H, KSCms-UHC-HW-V, 
KSCpc-EUC-H, UniKS-UCS2-H, UniKS-UCS2-V
4.7  Chinese, Japanese, and Korean Text 99
Table 4.6 Predefined CMaps for Japanese, Chinese, and Korean text (from the PDF Reference)
locale
supported CMaps
description
Simplified 
Chinese
UniGB-UCS2-H
UniGB-UCS2-V
Unicode (UCS-2) encoding for the Adobe-GB1 character collection
GB-EUC-H
GB-EUC-V
Microsoft Code Page 936 (charset 134), GB 2312-80 character set, EUC-CN 
encoding
GBpc-EUC-H
GBpc-EUC-V
Macintosh, GB 2312-80 character set, EUC-CN encoding, Script Manager 
code 2
GBK-EUC-H, -V
Microsoft Code Page 936 (charset 134), GBK character set, GBK encoding
GBKp-EUC-H
1
GBKp-EUC-V
1
Same as GBK-EUC-H, but replaces half-width Latin characters with 
proportional forms and maps code 0x24 to dollar ($) instead of yuan (¥).
GBK2K-H
1
, -V
1
GB 18030-2000 character set, mixed 1-, 2-, and 4-byte encoding
Traditional 
Chinese
UniCNS-UCS2-H
UniCNS-UCS2-V
Unicode (UCS-2) encoding for the Adobe-CNS1 character collection
B5pc-H
B5pc-V
Macintosh, Big Five character set, Big Five encoding, Script Manager code 2
HKscs-B5-H
1
HKscs-B5-V
1
Hong Kong SCS (Supplementary Character Set), an extension to the Big 
Five character set and encoding
ETen-B5-H
ETen-B5-V
Microsoft Code Page 950 (charset 136), Big Five character set with ETen 
extensions
ETenms-B5-H
ETenms-B5-V
Same as ETen-B5-H, but replaces half-width Latin characters with 
proportional forms
CNS-EUC-H, -V
CNS 11643-1992 character set, EUC-TW encoding
Japanese
UniJIS-UCS2-H, -V
Unicode (UCS-2) encoding for the Adobe-Japan1 character collection
UniJIS-UCS2-HW-H
UniJIS-UCS2-HW-V
Same as UniJIS-UCS2-H, but replaces proportional Latin characters with 
half-width forms
83pv-RKSJ-H
Macintosh, JIS X 0208 character set with KanjiTalk6 extensions, Shift-JIS 
encoding, Script Manager code 1
90ms-RKSJ-H
90ms-RKSJ-V
Microsoft Code Page 932 (charset 128), JIS X 0208 character set with NEC 
and IBM extensions
90msp-RKSJ-H
90msp-RKSJ-V
Same as 90ms-RKSJ-H, but replaces half-width Latin characters with 
proportional forms
90pv-RKSJ-H
Macintosh, JIS X 0208 character set with KanjiTalk7 extensions, Shift-JIS 
encoding, Script Manager code 1
Add-RKSJ-H, -V
JIS X 0208 character set with Fujitsu FMR extensions, Shift-JIS encoding
EUC-H, -V
JIS X 0208 character set, EUC-JP encoding
Ext-RKSJ-H, -V
JIS C 6226 (JIS78) character set with NEC extensions, Shift-JIS encoding
H, V
JIS X 0208 character set, ISO-2022-JP encoding
Korean
UniKS-UCS2-H -V
Unicode (UCS-2) encoding for the Adobe-Korea1 character collection
KSC-EUC-H, -V
KS X 1001:1992 character set, EUC-KR encoding
KSCms-UHC-H
KSCms-UHC-V
Microsoft Code Page 949 (charset 129), KS X 1001:1992 character set plus 
8822 additional hangul, Unified Hangul Code (UHC) encoding
KSCms-UHC-HW-H
KSCms-UHC-HW-V
Same as KSCms-UHC-H, but replaces proportional Latin characters with 
half-width forms
KSCpc-EUC-H
Macintosh, KS X 1001:1992 character set with Mac OS KH extensions, Script 
Manager Code 3
1. Only available for PDF 1.4 / Acrobat 5 and above
100
Chapter 4:  Text Handling
Note Some PDFlib functions change their semantics according to the writing mode. For example, 
PDF_continue_text( ) should not be used in vertical writing mode, and the character spacing 
must be negative in order to spread characters apart in vertical writing mode.
CJK text encoding for standard CMaps. The client is responsible for supplying text en-
coded such that it matches the requested CMap. PDFlib does not check whether the sup-
plied text conforms to the requested CMap.
For multi-byte encodings, the high-order byte of a character must appear first. Alter-
natively, the byte ordering and text format can be selected with the textformat parame-
ter (see Section 4.5.1, »Unicode for Page Descriptions«, page 87) provided a UCS2-based 
CMap is used.
Since several of the supported encodings may contain null characters in the text 
strings, C developers must take care not to use the PDF_show( ) etc. functions, but in-
stead PDF_show2( ) etc. which allow for arbitrary binary strings along with a length pa-
rameter. For all other language bindings, the text functions support binary strings, and 
PDF_show2( ) etc. are not required.
Restrictions for standard CJK fonts and CMaps. The following features are not sup-
ported for standard CJK fonts in combination with CMaps other than UCS2:
> calculating the extent of text with PDF_stringwidth( )
> box formatting with PDF_show_boxed( ) (doesn’t work with any standard CMap, even 
UCS2)
> activating underline/overline/strikeout mode
> retrieving the textx/texty position
These restrictions hold for standard CJK fonts. Note that although the widths of CJK text 
cannot be queried in these cases, the width will nevertheless be generated correctly in 
the PDF output. Also note the above features are well supported for custom CJK fonts.
Standard CJK font example. Standard CJK fonts can be selected with the PDF_load_
font( ) interface, supplying the CMap name as the encoding parameter. However, you 
must take into account that a given CJK font supports only a certain set of CMaps (see 
Table 4.5). The KozMinPro-Regular-Acro sample in Table 4.5 has been generated with the 
following code:
font = PDF_load_font(p, "KozMinPro-Regular-Acro", 0, "Ext-RKSJ-H", "");
PDF_setfont(p, font, 24);
PDF_set_text_pos(p, x, y);
PDF_show(p, "\x93\xFA\x96\x7B\x8C\xEA");
These statements locate one of the Japanese standard fonts, choosing a Shift-JIS-com-
patible CMap (Ext-RKSJ) and horizontal writing mode (H). The fontname parameter must 
be the exact name of the font without any encoding or writing mode suffixes. The 
encoding parameter is the name of one of the supported CMaps (the choice depends on 
the font) and will also indicate the writing mode (see above). PDFlib supports all of Acro-
bat’s default CMaps, and will complain when it detects a mismatch between the re-
quested font and the CMap. For example, PDFlib will reject a request to use a Korean 
font with a Japanese encoding.
Documents you may be interested
Documents you may be interested