Print Page | Close Window

Text height vs. bold/italic vs. Courier New

Printed From: Debenu Quick PDF Library - PDF SDK Community Forum
Category: For Users of the Library
Forum Name: I need help - I can help
Forum Description: Problems and solutions while programming with the Debenu Quick PDF Library and Debenu PDF Viewer SDK
URL: http://www.quickpdf.org/forum/forum_posts.asp?TID=2567
Printed Date: 04 Apr 26 at 8:04PM
Software Version: Web Wiz Forums 11.01 - http://www.webwizforums.com


Topic: Text height vs. bold/italic vs. Courier New
Posted By: LuProch
Subject: Text height vs. bold/italic vs. Courier New
Date Posted: 14 Mar 13 at 11:48AM
When I draw the same texts with same font name and same size, but differing in weight and style (normal/bold/italic/bolditalic), then they end up with different heights. Why are they not all the same height, like in Microsoft Word or OpenOffice Writer? How can I fix it? I know I could adjust line spacing, but it doesn't help if the text contains combination of normal parts and bold parts, because then even every line of the single text can have different height.
I tried Arial and Times New Roman and the heights were different. With Courier New it's even more weird. Not only the heights are different, but there are also some gaps between lines (visible when you select the text in Adobe Reader) and bold text is shifted down (in relation to normal/italic/bolditalic text with DrawHTMLText).
So how can I make all the texts the same height? And can I do it also with Courier New?

http://s8.postimage.org/72ih1w01h/Courier_New.png - http://s8.postimage.org/72ih1w01h/Courier_New.png

quickPDF.SetOrigin(1); // top left
quickPDF.SetMeasurementUnits(1); // millimetres
quickPDF.SetPageDimensions(210, 297);

int ID = quickPDF.AddTrueTypeFont("Courier New {1250}", 0);
int ID_B = quickPDF.AddTrueTypeFont("Courier New [Bold] {1250}", 0);
int ID_I = quickPDF.AddTrueTypeFont("Courier New [Italic] {1250}", 0);
int ID_BI = quickPDF.AddTrueTypeFont("Courier New [BoldItalic] {1250}", 0);

quickPDF.SetHTMLNormalFont("Default", ID);
quickPDF.SetHTMLBoldFont("Default", ID_B);
quickPDF.SetHTMLItalicFont("Default", ID_I);
quickPDF.SetHTMLBoldItalicFont("Default", ID_BI);

quickPDF.DrawHTMLText(10, 5, 50, "<font size=\"10pt\"><p align=\"left\">DrawHTMLText</p></font>");

// 1 style: N, B, I, BI
quickPDF.DrawHTMLText(10, 10, 10, "<font size=\"10pt\"><p align=\"left\">001<br>002<br>003<br>004<br>005<br>006<br>007<br>008<br>009<br>010<br>011<br>012<br>013<br>014<br>015<br>016<br>017<br>018<br>019<br>020</p></font>");
quickPDF.DrawHTMLText(20, 10, 10, "<font size=\"10pt\"><p align=\"left\"><b>001<br>002<br>003<br>004<br>005<br>006<br>007<br>008<br>009<br>010<br>011<br>012<br>013<br>014<br>015<br>016<br>017<br>018<br>019<br>020</b></p></font>");
quickPDF.DrawHTMLText(30, 10, 10, "<font size=\"10pt\"><p align=\"left\"><i>001<br>002<br>003<br>004<br>005<br>006<br>007<br>008<br>009<br>010<br>011<br>012<br>013<br>014<br>015<br>016<br>017<br>018<br>019<br>020</i></p></font>");
quickPDF.DrawHTMLText(40, 10, 10, "<font size=\"10pt\"><p align=\"left\"><b><i>001<br>002<br>003<br>004<br>005<br>006<br>007<br>008<br>009<br>010<br>011<br>012<br>013<br>014<br>015<br>016<br>017<br>018<br>019<br>020</i></b></p></font>");
// combinations of 2 styles: N + B, N + I, N + BI, B + I, B + BI, I + BI
quickPDF.DrawHTMLText(50, 10, 10, "<font size=\"10pt\"><p align=\"left\">00<b>1</b><br>00<b>2</b><br>00<b>3</b><br>00<b>4</b><br>00<b>5</b><br>00<b>6</b><br>00<b>7</b><br>00<b>8</b><br>00<b>9</b><br>01<b>0</b><br>01<b>1</b><br>01<b>2</b><br>01<b>3</b><br>01<b>4</b><br>01<b>5</b><br>01<b>6</b><br>01<b>7</b><br>01<b>8</b><br>01<b>9</b><br>02<b>0</b></p></font>");
quickPDF.DrawHTMLText(60, 10, 10, "<font size=\"10pt\"><p align=\"left\">00<i>1</i><br>00<i>2</i><br>00<i>3</i><br>00<i>4</i><br>00<i>5</i><br>00<i>6</i><br>00<i>7</i><br>00<i>8</i><br>00<i>9</i><br>01<i>0</i><br>01<i>1</i><br>01<i>2</i><br>01<i>3</i><br>01<i>4</i><br>01<i>5</i><br>01<i>6</i><br>01<i>7</i><br>01<i>8</i><br>01<i>9</i><br>02<i>0</i></p></font>");
quickPDF.DrawHTMLText(70, 10, 10, "<font size=\"10pt\"><p align=\"left\">00<b><i>1</i></b><br>00<b><i>2</i></b><br>00<b><i>3</i></b><br>00<b><i>4</i></b><br>00<b><i>5</i></b><br>00<b><i>6</i></b><br>00<b><i>7</i></b><br>00<b><i>8</i></b><br>00<b><i>9</i></b><br>01<b><i>0</i></b><br>01<b><i>1</i></b><br>01<b><i>2</i></b><br>01<b><i>3</i></b><br>01<b><i>4</i></b><br>01<b><i>5</i></b><br>01<b><i>6</i></b><br>01<b><i>7</i></b><br>01<b><i>8</i></b><br>01<b><i>9</i></b><br>02<b><i>0</i></b></p></font>");
quickPDF.DrawHTMLText(80, 10, 10, "<font size=\"10pt\"><p align=\"left\"><b>00</b><i>1</i><br><b>00</b><i>2</i><br><b>00</b><i>3</i><br><b>00</b><i>4</i><br><b>00</b><i>5</i><br><b>00</b><i>6</i><br><b>00</b><i>7</i><br><b>00</b><i>8</i><br><b>00</b><i>9</i><br><b>01</b><i>0</i><br><b>01</b><i>1</i><br><b>01</b><i>2</i><br><b>01</b><i>3</i><br><b>01</b><i>4</i><br><b>01</b><i>5</i><br><b>01</b><i>6</i><br><b>01</b><i>7</i><br><b>01</b><i>8</i><br><b>01</b><i>9</i><br><b>02</b><i>0</i></p></font>");
quickPDF.DrawHTMLText(90, 10, 10, "<font size=\"10pt\"><p align=\"left\"><b>00<i>1</i></b><br><b>00<i>2</i></b><br><b>00<i>3</i></b><br><b>00<i>4</i></b><br><b>00<i>5</i></b><br><b>00<i>6</i></b><br><b>00<i>7</i></b><br><b>00<i>8</i></b><br><b>00<i>9</i></b><br><b>01<i>0</i></b><br><b>01<i>1</i></b><br><b>01<i>2</i></b><br><b>01<i>3</i></b><br><b>01<i>4</i></b><br><b>01<i>5</i></b><br><b>01<i>6</i></b><br><b>01<i>7</i></b><br><b>01<i>8</i></b><br><b>01<i>9</i></b><br><b>02<i>0</i></b></p></font>");
quickPDF.DrawHTMLText(100, 10, 10, "<font size=\"10pt\"><p align=\"left\"><i>00<b>1</b></i><br><i>00<b>2</b></i><br><i>00<b>3</b></i><br><i>00<b>4</b></i><br><i>00<b>5</b></i><br><i>00<b>6</b></i><br><i>00<b>7</b></i><br><i>00<b>8</b></i><br><i>00<b>9</b></i><br><i>01<b>0</b></i><br><i>01<b>1</b></i><br><i>01<b>2</b></i><br><i>01<b>3</b></i><br><i>01<b>4</b></i><br><i>01<b>5</b></i><br><i>01<b>6</b></i><br><i>01<b>7</b></i><br><i>01<b>8</b></i><br><i>01<b>9</b></i><br><i>02<b>0</b></i></p></font>");
// combinations of 3 styles: N + B + I, N + B + BI, N + I + BI, B + I + BI
quickPDF.DrawHTMLText(110, 10, 10, "<font size=\"10pt\"><p align=\"left\">0<b>0</b><i>1</i><br>0<b>0</b><i>2</i><br>0<b>0</b><i>3</i><br>0<b>0</b><i>4</i><br>0<b>0</b><i>5</i><br>0<b>0</b><i>6</i><br>0<b>0</b><i>7</i><br>0<b>0</b><i>8</i><br>0<b>0</b><i>9</i><br>0<b>1</b><i>0</i><br>0<b>1</b><i>1</i><br>0<b>1</b><i>2</i><br>0<b>1</b><i>3</i><br>0<b>1</b><i>4</i><br>0<b>1</b><i>5</i><br>0<b>1</b><i>6</i><br>0<b>1</b><i>7</i><br>0<b>1</b><i>8</i><br>0<b>1</b><i>9</i><br>0<b>2</b><i>0</i></p></font>");
quickPDF.DrawHTMLText(120, 10, 10, "<font size=\"10pt\"><p align=\"left\">0<b>0<i>1</i></b><br>0<b>0<i>2</i></b><br>0<b>0<i>3</i></b><br>0<b>0<i>4</i></b><br>0<b>0<i>5</i></b><br>0<b>0<i>6</i></b><br>0<b>0<i>7</i></b><br>0<b>0<i>8</i></b><br>0<b>0<i>9</i></b><br>0<b>1<i>0</i></b><br>0<b>1<i>1</i></b><br>0<b>1<i>2</i></b><br>0<b>1<i>3</i></b><br>0<b>1<i>4</i></b><br>0<b>1<i>5</i></b><br>0<b>1<i>6</i></b><br>0<b>1<i>7</i></b><br>0<b>1<i>8</i></b><br>0<b>1<i>9</i></b><br>0<b>2<i>0</i></b></p></font>");
quickPDF.DrawHTMLText(130, 10, 10, "<font size=\"10pt\"><p align=\"left\">0<i>0<b>1</b></i><br>0<i>0<b>2</b></i><br>0<i>0<b>3</b></i><br>0<i>0<b>4</b></i><br>0<i>0<b>5</b></i><br>0<i>0<b>6</b></i><br>0<i>0<b>7</b></i><br>0<i>0<b>8</b></i><br>0<i>0<b>9</b></i><br>0<i>1<b>0</b></i><br>0<i>1<b>1</b></i><br>0<i>1<b>2</b></i><br>0<i>1<b>3</b></i><br>0<i>1<b>4</b></i><br>0<i>1<b>5</b></i><br>0<i>1<b>6</b></i><br>0<i>1<b>7</b></i><br>0<i>1<b>8</b></i><br>0<i>1<b>9</b></i><br>0<i>2<b>0</b></i></p></font>");
quickPDF.DrawHTMLText(140, 10, 10, "<font size=\"10pt\"><p align=\"left\"><b>0</b><i>0<b>1</b></i><br><b>0</b><i>0<b>2</b></i><br><b>0</b><i>0<b>3</b></i><br><b>0</b><i>0<b>4</b></i><br><b>0</b><i>0<b>5</b></i><br><b>0</b><i>0<b>6</b></i><br><b>0</b><i>0<b>7</b></i><br><b>0</b><i>0<b>8</b></i><br><b>0</b><i>0<b>9</b></i><br><b>0</b><i>1<b>0</b></i><br><b>0</b><i>1<b>1</b></i><br><b>0</b><i>1<b>2</b></i><br><b>0</b><i>1<b>3</b></i><br><b>0</b><i>1<b>4</b></i><br><b>0</b><i>1<b>5</b></i><br><b>0</b><i>1<b>6</b></i><br><b>0</b><i>1<b>7</b></i><br><b>0</b><i>1<b>8</b></i><br><b>0</b><i>1<b>9</b></i><br><b>0</b><i>2<b>0</b></i></p></font>");
// combination of 4 styles: N + B + I + BI
quickPDF.DrawHTMLText(150, 10, 10, "<font size=\"10pt\"><p align=\"left\">0<b>0</b><i>0<b>1</b></i><br>0<b>0</b><i>0<b>2</b></i><br>0<b>0</b><i>0<b>3</b></i><br>0<b>0</b><i>0<b>4</b></i><br>0<b>0</b><i>0<b>5</b></i><br>0<b>0</b><i>0<b>6</b></i><br>0<b>0</b><i>0<b>7</b></i><br>0<b>0</b><i>0<b>8</b></i><br>0<b>0</b><i>0<b>9</b></i><br>0<b>0</b><i>1<b>0</b></i><br>0<b>0</b><i>1<b>1</b></i><br>0<b>0</b><i>1<b>2</b></i><br>0<b>0</b><i>1<b>3</b></i><br>0<b>0</b><i>1<b>4</b></i><br>0<b>0</b><i>1<b>5</b></i><br>0<b>0</b><i>1<b>6</b></i><br>0<b>0</b><i>1<b>7</b></i><br>0<b>0</b><i>1<b>8</b></i><br>0<b>0</b><i>1<b>9</b></i><br>0<b>0</b><i>2<b>0</b></i></p></font>");
// combinations of N + B in one text
quickPDF.DrawHTMLText(162, 10, 10, "<font size=\"10pt\"><p align=\"left\"><b>001</b><br>002<br><b>003</b><br>004<br><b>005</b><br>006<br><b>007</b><br>008<br><b>009</b><br>010<br><b>011</b><br>012<br><b>013</b><br>014<br><b>015</b><br>016<br><b>017</b><br>018<br><b>019</b><br>020</p></font>");
quickPDF.DrawHTMLText(172, 10, 10, "<font size=\"10pt\"><p align=\"left\">001<br><b>002</b><br>003<br><b>004</b><br>005<br><b>006</b><br>007<br><b>008</b><br>009<br><b>010</b><br>011<br><b>012</b><br>013<br><b>014</b><br>015<br><b>016</b><br>017<br><b>018</b><br>019<br><b>020</b></p></font>");
quickPDF.DrawHTMLText(182, 10, 10, "<font size=\"10pt\"><p align=\"left\">00<b>1</b><br>002<br>00<b>3</b><br>004<br>00<b>5</b><br>006<br>00<b>7</b><br>008<br>00<b>9</b><br>010<br>01<b>1</b><br>012<br>01<b>3</b><br>014<br>01<b>5</b><br>016<br>01<b>7</b><br>018<br>01<b>9</b><br>020</p></font>");
quickPDF.DrawHTMLText(192, 10, 10, "<font size=\"10pt\"><p align=\"left\">001<br>00<b>2</b><br>003<br>00<b>4</b><br>005<br>00<b>6</b><br>007<br>00<b>8</b><br>009<br>01<b>0</b><br>011<br>01<b>2</b><br>013<br>01<b>4</b><br>015<br>01<b>6</b><br>017<br>01<b>8</b><br>019<br>02<b>0</b></p></font>");

quickPDF.SetLineWidth(0.2);
quickPDF.DrawLine(0, 10, 210, 10);
quickPDF.DrawLine(49, 0, 49, 297);
quickPDF.DrawLine(109, 0, 109, 297);
quickPDF.DrawLine(149, 0, 149, 297);
quickPDF.DrawLine(161, 0, 161, 297);

quickPDF.SaveToFile(fileName);




Print Page | Close Window

Forum Software by Web Wiz Forums® version 11.01 - http://www.webwizforums.com
Copyright ©2001-2014 Web Wiz Ltd. - http://www.webwiz.co.uk