How to generate bulleted lists in PDF language to display in Adobe Acrobat Reader?
Posted on 2007-04-08
I'm writing a C program, which translates user input of text into PDF file, which can be displayed in Adobe Acrobat Reader. The user input contains bulleted lists. The lists have the following types of bullets:
1). For Unordered Lists:
Disc: Solid circular bullet
Circle: Open circular bullet
Square: Solid square bullet
2). For Ordered Lists:
Decimal: Decimal arabic numerals (1–9, 10–99, … )
UpperRoman: Uppercase roman numerals (I, II, III, IV, … )
LowerRoman: Lowercase roman numerals (i, ii, iii, iv, … )
UpperAlpha: Uppercase letters (A, B, C, … )
LowerAlpha: Lowercase letters (a, b, c, … )
My question is: What is the best way to generate bulleted lists in PDF? I think there might be the following four options:
a). It may be done using some existing PDF syntax, which I think I might have found in PDF Reference manual Version 1.7 published by Adobe, but the syntax might be designed for use of Document Interchange, because it's in Chapter 10. Document Interchange - Section 10.7 Tagged PDF. Thus I'm not sure if it's the syntax that I can use.
b). I may draw these bullets line by line, and then fill in color if necessary. For example, I can draw square bullet by drawing its four sides, then fill it with color. But it would be difficult to draw circle using PDF language.
c). I may embed pre-drawn GIF images for those bullets into PDF file.
d). I can simulate bullet images "Circle" and "Square" using letters 'O' and "." on keyboard because letter 'O' looks like a circle and period character '.' looks like a square in Adobe Acrobat reader. Unfortunately, the simulated Circle is not strictly circular, and there is no way to simulate "Disc" using any keyboard character, unless I use ASCII characters between 125 and 256, which are graphical characters, but they are not supported on all platforms/systems.
Here is my opinion:
For options b) and c), it would be hard to adjust positions and sizes of bullets when the corresponding texts are scaled. Option a) might be a better choice, but I'm not sure that's the correct syntax to do it and I need some code examples to learn how to do it. Option d) might be the easist way to do if there's a better way to simulate the unordered bullets using keyborad characters. I don't have trouble in creating bullet symbols for Ordered List, because they are all standard keyboard characters.
Thank you for your help!