Finally, I was able to get at least some result. Although I still don't understand anything about hieroglyphs and their crazy encodings
ChrA function, renamed into Chr3, for 2-byte encoded symbols. Symbol's output of GBK-EUC-H encoder is equal to Windows : Simplified Chinese charset in Windows Character Map program.
The MS Gothic font was chosen because several other fonts simply refused to load, causing failure HPDF_INVALID_FONT_NAME.
Latest LIBHPDF.ahk library (some constants was added, also cosmetic and QoL changes)
Slightly modified Run AHK V2 as ANSI and 32-bit
Re: Run AHK V2 as ANSI and 32-bit
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
A couple of news.
Converting slide_show_demo.c was failed. It's constantly thrown exception with 0xC0000005 code on the first HPDF_Page_CreateDestination(page) function call.
error_handler is silent «as killed» in this situation.
I don't know what's going on and how it's possible to diagnose this annoying situation.
Just for research purposes the link to the «problem» is below:
Now to other news.
LIBHPDF.ahk was updated. Version raised to 1.3.
Converting slide_show_demo.c was failed. It's constantly thrown exception with 0xC0000005 code on the first HPDF_Page_CreateDestination(page) function call.
error_handler is silent «as killed» in this situation.
I don't know what's going on and how it's possible to diagnose this annoying situation.
Just for research purposes the link to the «problem» is below:
Now to other news.
LIBHPDF.ahk was updated. Version raised to 1.3.
- All static constants of all functions that had them are now available globally.
- Added missing extended graphics processing functions.
- Fixed several bugs found in DllCall parameters.
- hpdf_errors.ahk now deprecated. error_handler with error codes moved to LIBHPDF.ahk.
Just comment or remove #include "Lib\hpdf_errors.ahk" to avoid unexpected exceptions. - Immediate ExitApp(1) after closing MsgBox with a warning added to error_handler function.
- The printf() function has been added to help with debugging. Usage is the same as in C, with formatting string adjustments to Autohotkey syntax.
Implementation is simple: printf(fmtstr, params*) => outputdebug(format(fmtstr, params*)).
Please note that the output of this function is only sent to the IDE debug console. And only if a debugger is connected to the IDE active session.
No MsgBox is invoked!
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
Hi @vmech,
I think I found the issue.
I've been quite sure that the libhpdf.dll is using __stdcall. So I removed the Cdecl from libhpdf.ahk.
After that i got an error for HPDF_Page_SetSlideShow(): Too many parameters or needs Cdecl. Looking at the function I foundI fixed the function name and it worked.
After that a new error was thrown by the error_handler: 0x1023 HPDF_INVALID_DESTINATION. It was caused by the HPDF_Page_CreateLinkAnnot() function call.
This function is dokumented as
The second parameter rect is expected to be passed by value, not as a pointer. That's also true for all other function expecting a HPDF_Rect structure. So I changed the function to
The demo is working now.
I think I found the issue.
I've been quite sure that the libhpdf.dll is using __stdcall. So I removed the Cdecl from libhpdf.ahk.
After that i got an error for HPDF_Page_SetSlideShow(): Too many parameters or needs Cdecl. Looking at the function I found
Code: Select all
HPDF_Page_SetSlideShow(hPage, type, disp_time, trans_time) => DllCall("libhpdf\HPDF_Free", "Ptr", hPage, "Int", type, "Float", disp_time, "Float", trans_time, "UInt")
Code: Select all
HPDF_Page_SetSlideShow(hPage, type, disp_time, trans_time) => DllCall("libhpdf\HPDF_Page_SetSlideShow", "Ptr", hPage, "Int", type, "Float", disp_time, "Float", trans_time, "UInt")
Code: Select all
HPDF_Page_CreateLinkAnnot(hPage, rect, dst) => DllCall("libhpdf\HPDF_Page_CreateLinkAnnot", "Ptr", hPage, "Ptr", rect, "Ptr", dst, "Ptr")
Code: Select all
#include "apdf.h"
HPDF_Annotation
HPDF_Page_CreateLinkAnnot (HPDF_Page page,
HPDF_Rect rect,
HPDF_Destination dst);
Code: Select all
HPDF_Page_CreateLinkAnnot(hPage, rect, dst) => DllCall("libhpdf\HPDF_Page_CreateLinkAnnot", "Ptr", hPage,
"Float", rect.left, "Float", rect.bottom,
"Float", rect.right, "Float", rect.top,
"Ptr", dst, "Ptr")
Re: Run AHK V2 as ANSI and 32-bit
Excellent job my friend! Thank you very much!
Yep. This annoying bug come from V1 source. And no anyone had noticed him before...just me wrote: ↑10 Nov 2023, 06:17I've been quite sure that the libhpdf.dll is using __stdcall. So I removed the Cdecl from libhpdf.ahk.
After that i got an error for HPDF_Page_SetSlideShow(): Too many parameters or needs Cdecl. Looking at the function I found
I fixed the function name and it worked.
Very, very strange API. With an equally strange wrapper. A crutch on a crutch. And bugs.just me wrote: ↑10 Nov 2023, 06:17After that a new error was thrown by the error_handler: 0x1023 HPDF_INVALID_DESTINATION. It was caused by the HPDF_Page_CreateLinkAnnot() function call.
This function is dokumented as
The second parameter rect is expected to be passed by value, not as a pointer. That's also true for all other function expecting a HPDF_Rect structure. So I changed the function toThe demo is working now.Code: Select all
HPDF_Page_CreateLinkAnnot(hPage, rect, dst) => DllCall("libhpdf\HPDF_Page_CreateLinkAnnot", "Ptr", hPage, "Float", rect.left, "Float", rect.bottom, "Float", rect.right, "Float", rect.top, "Ptr", dst, "Ptr")
Bugs everywhere.
OK, then the latest bugfix.
Also, starting implementation - now all structure classes can accept an array with values during initialization.
For HPDF_DashMode this input array fills the dash_ptn buffer only.
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
In my attempts to compile libhpdf.dll to a more recent version, I was still able to compile 2.3.0-RELEASE using CMake 3.27 and MinGW 8.1.
Just without libpng and zlib for now.
HPDF_GetVersion returns the internal version as 2.3.0RC2.
But here's the problem: out of ignorance, I compiled a 64-bit library
And what’s most interesting: it connects normally and works with 64-bit Autohotkey. And pdf files from demos are also makes normally.
Just without libpng and zlib for now.
HPDF_GetVersion returns the internal version as 2.3.0RC2.
But here's the problem: out of ignorance, I compiled a 64-bit library
And what’s most interesting: it connects normally and works with 64-bit Autohotkey. And pdf files from demos are also makes normally.
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
Gotcha!
Now I have both libraries, 32-bit and 64-bit. I have not yet tried to compile them with pnglib and zlib. But I'll definitely try.
Warning: This is just an experiment for now. At my and yours risk and danger.
It is no longer necessary to adhere to the strict requirement for Autohotkey bit depth (probably ).
There is no need to change the path to the library - if something goes wrong, then HPDF_LoadDll itself will try to correct the path and load the appropriate library.
The main thing is to adhere to the subfolder structure in the Lib folder as in the archive file.
Now I have both libraries, 32-bit and 64-bit. I have not yet tried to compile them with pnglib and zlib. But I'll definitely try.
Warning: This is just an experiment for now. At my and yours risk and danger.
It is no longer necessary to adhere to the strict requirement for Autohotkey bit depth (probably ).
There is no need to change the path to the library - if something goes wrong, then HPDF_LoadDll itself will try to correct the path and load the appropriate library.
The main thing is to adhere to the subfolder structure in the Lib folder as in the archive file.
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
I managed to compile 32-bit libhpdf.dll version 2.3.0 with libpng and zlib support.
By the end of the weekend I will try to figure out the rest of this «kitchen» and post all the collected libraries.
Several questions at once:
By the end of the weekend I will try to figure out the rest of this «kitchen» and post all the collected libraries.
Several questions at once:
- Version 2.3.0 adds about 80 more functions to the export that are missing in version 2.0.8.
There is no official documentation for these functions. And it is unlikely to ever appear.
Do I need to add these functions to the wrapper ? - Maybe it's time to organize a separate topic in «Scripts and functions» ?
Because this whole performance has already moved into some kind of frantic stage of debugging and assembling almost «everything in the world» - Is it necessary to publish a set of source codes, and may be pre-compiled support import libs, for self-assembling libhpdf libraries (except for MinGW and CMake binaries, of course)?
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
I think You did a fantastic job.
Thought I'd see if I can start creating PDF files again with AHK and LIBHARU.
Downloaded the last file LIBHPDF.ahk v1.4.1-dev + 32-bit/64-bit libhpdf.dll by @devech
Created some new empty directories libharu and libharu\lib
In the directorylibharu\lib I saved the latest LIBHPDF.ahk and libhpdf.dll (32-bit)
Then I get back to the earlier test library and copy the examplefiles (which works)
Immediately I received the message that hpdf_errors.ahk was missing.
Copied the latest file (hpdf_errors.ahk) I have, into the directory (libharu\lib)
Now the program (arc_demo.ahk) works little longer, but now I got next message .: I have no idea what is going wrong this time...
Thought I'd see if I can start creating PDF files again with AHK and LIBHARU.
Downloaded the last file LIBHPDF.ahk v1.4.1-dev + 32-bit/64-bit libhpdf.dll by @devech
Created some new empty directories libharu and libharu\lib
In the directorylibharu\lib I saved the latest LIBHPDF.ahk and libhpdf.dll (32-bit)
Then I get back to the earlier test library and copy the examplefiles (which works)
- arc_demo.ahk
- character_map.ahk
- grid_sheet.ahk
- line_demo.ahk
- text_demo.ahk
- text_demo2.ahk
Immediately I received the message that hpdf_errors.ahk was missing.
Copied the latest file (hpdf_errors.ahk) I have, into the directory (libharu\lib)
Now the program (arc_demo.ahk) works little longer, but now I got next message .: I have no idea what is going wrong this time...
Re: Run AHK V2 as ANSI and 32-bit
hpdf_errors.ahk deprecated. Just comment or delete this line.
This could be my fault. Try library linked below (unpack to Libharu folder and confirm overwriting if asked):
Also be careful! I haven't updated all the demo files to the latest state.
A little later I will post updated versions of the converted demo files here.
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
Many thanks!
It seems to work very well, (the little I have tested).
If I understand correctly, only the libhpdf.dll (32-bit) works in the lib directory.
Don't know when 64-bit would be an advantage.
- . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ .
I think this has to do with something else.
When I run testfile character_map.ahk I get almost no content in the result PDF (126 pages). (attaches the AHK-test file)
Is it correct?
It seems to work very well, (the little I have tested).
If I understand correctly, only the libhpdf.dll (32-bit) works in the lib directory.
Don't know when 64-bit would be an advantage.
- . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ . - . _ .
I think this has to do with something else.
When I run testfile character_map.ahk I get almost no content in the result PDF (126 pages). (attaches the AHK-test file)
Is it correct?
- Attachments
-
- character_map.ahk
- (7.11 KiB) Downloaded 32 times
Re: Run AHK V2 as ANSI and 32-bit
Nope. Try this:
Code: Select all
/*
* << Haru Free PDF Library 2.0.0 >> -- character_map.c
*
* Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
*
* Permission to use, copy, modify, distribute and sell this software
* and its documentation for any purpose is hereby granted without fee,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
* It is provided "as is" without express or implied warranty.
*
* usage character_map <encoding-name> <low-range-from> <low-range-to>
* <high-range-from> <high-range-to>
* ex. character_map 90ms-RKSJ-V 0x80 0x
*
*/
#Requires Autohotkey v2.0 32-bit
#include "Lib\LIBHPDF.ahk"
hDll := HPDF_LoadDLL(A_ScriptDir "\Lib\libhpdf.dll")
; printf('libhpdf version {:s}`n', HPDF_GetVersion())
main()
HPDF_UnloadDLL(hDll)
/* end of program */
Chr2(num) {
static ANSI := Buffer(3, 0), byte, btype
if ( Abs(num) >> 8 )
byte := 2, btype := 'UShort'
else
byte := 1, btype := 'UChar'
return StrGet(NumPut(btype, num, ANSI) - byte, byte, 0)
}
draw_page(pdf, page, title_font, font, h_byte, l_byte)
{
PAGE_WIDTH := 420
CELL_HEIGHT := 20
CELL_WIDTH := 20
idiv := Integer(l_byte / 16) ; /* <<< Float -> Integer */
l_byte := idiv * 16
h_count := 16 - idiv
page_height := 40 + 40 + (h_count + 1) * CELL_HEIGHT
HPDF_Page_SetHeight(page, page_height)
HPDF_Page_SetWidth(page, PAGE_WIDTH)
HPDF_Page_SetFontAndSize(page, title_font, 10)
ypos := h_count + 1
loop
{
y := ypos * CELL_HEIGHT + 40
HPDF_Page_MoveTo(page, 40, y)
HPDF_Page_LineTo(page, 380, y)
HPDF_Page_Stroke(page)
if (ypos < h_count)
{
; unsigned char buf[2];
; buf[0] = 16 - ypos - 1
; if (buf[0] < 10)
; buf[0] += '0'
; else
; buf[0] += ('A' - 10)
buf := 16 - ypos - 1
if (buf < 10)
buf += Ord('0')
else
buf += Ord('A') - 10
; buf[1] = 0
w := HPDF_Page_TextWidth(page, Chr2(buf))
HPDF_Page_BeginText(page)
HPDF_Page_MoveTextPos(page, 40 + (20 - w) / 2, y + 5)
HPDF_Page_ShowText(page, Chr2(buf))
HPDF_Page_EndText(page)
}
if (ypos = 0)
break
ypos--
}
; for (xpos = 0; xpos <= 17; xpos++)
loop 18
{
xpos := A_Index - 1 ; /* <<< actual index */
y := (h_count + 1) * CELL_HEIGHT + 40
x := xpos * CELL_WIDTH + 40
HPDF_Page_MoveTo(page, x, 40)
HPDF_Page_LineTo(page, x, y)
HPDF_Page_Stroke(page)
if (xpos > 0 && xpos <= 16)
{
; unsigned char buf[2];
; buf[0] = xpos - 1
; if (buf[0] < 10)
; buf[0] += '0'
; else
; buf[0] += ('A' - 10)
buf := xpos - 1
if (buf < 10)
buf += Ord('0')
else
buf += Ord('A') - 10
; buf[1] = 0
w := HPDF_Page_TextWidth(page, Chr2(buf))
HPDF_Page_BeginText(page)
HPDF_Page_MoveTextPos(page, x + (20 - w) / 2, h_count * CELL_HEIGHT + 45)
HPDF_Page_ShowText(page, Chr2(buf))
HPDF_Page_EndText(page)
}
}
HPDF_Page_SetFontAndSize(page, font, 15)
ypos := h_count
loop
{
y := (ypos - 1) * CELL_HEIGHT + 45
; for (xpos = 0; xpos < 16; xpos++)
loop 16
{
xpos := A_Index - 1 ; /* <<< actual index */
x := xpos * CELL_WIDTH + 40 + CELL_WIDTH
; unsigned char buf[3];
buf0 := h_byte
buf1 := (16 - ypos) * 16 + xpos
buf := (buf1 << 8) | buf0
; buf[2] := 0x00
_char := Chr2(buf)
w := HPDF_Page_TextWidth(page, _char)
if (w > 0)
{
HPDF_Page_BeginText(page)
HPDF_Page_MoveTextPos(page, x + (20 - w) / 2, y)
HPDF_Page_ShowText(page, _char)
HPDF_Page_EndText(page)
}
}
if (ypos = 0)
break
ypos--
}
}
main()
{
; HPDF_UINT16 flg[256];
flg := [], flg.Length := 256
SplitPath(A_ScriptName,,,, &NoExt)
fname := A_ScriptDir "\" NoExt ".pdf"
; if (argc < 3) {
; printf ("usage: character_map <encoding-name> <font-name>\n");
; return 1;
; }
argv := ["GBK-EUC-H", "MS-Gothic"]
pdf := HPDF_New(error_handler, NULL)
if (!pdf)
{
MsgBox("ERROR: cannot create PdfDoc object")
ExitApp(1)
}
/* configure pdf-document (showing outline, compression enabled) */
HPDF_SetPageMode(pdf, HPDF_PAGE_MODE_USE_OUTLINE)
HPDF_SetCompressionMode(pdf, HPDF_COMP_ALL)
HPDF_SetPagesConfiguration(pdf, 10)
HPDF_UseJPEncodings(pdf)
HPDF_UseJPFonts(pdf)
HPDF_UseKREncodings(pdf)
HPDF_UseKRFonts(pdf)
HPDF_UseCNSEncodings(pdf)
HPDF_UseCNSFonts(pdf)
HPDF_UseCNTEncodings(pdf)
HPDF_UseCNTFonts(pdf)
encoder := HPDF_GetEncoder(pdf, argv[1])
if (HPDF_Encoder_GetType(encoder) != HPDF_ENCODER_TYPE_DOUBLE_BYTE)
{
MsgBox(Format("ERROR: {:} is not cmap-encoder", argv[1]))
HPDF_Free(pdf)
ExitApp(1)
}
font := HPDF_GetFont(pdf, argv[2], argv[1])
min_l := 255
min_h := 256
max_l := 0
max_h := 0
loop 256
flg[A_Index] := 0
; for (i = 0; i <= 255; i++)
loop 256
{
i := A_Index - 1 ; /* <<< actual index */
; for (j = 20; j <= 255; j++)
loop 236
{
j := A_Index + 19 ; /* <<< actual index */
; unsigned char buf[3];
; HPDF_ByteType btype;
; HPDF_UINT16 code = i * 256 + j;
; HPDF_UNICODE unicode;
code := i * 256 + j
; buf[0] := i
; buf[1] := j
; buf[2] := 0
buf := i * 256 + j
; buf := (i << 8) | j
btype := HPDF_Encoder_GetByteType(encoder, Chr2(buf), 0) ; /* <<< Chr2(HPDF_UINT16) */
unicode := HPDF_Encoder_GetUnicode(encoder, code)
if (btype = HPDF_BYTE_TYPE_LEAD && unicode != 0x25A1)
{
if (min_l > j)
min_l := j
if (max_l < j)
max_l := j
if (min_h > i)
min_h := i
if (max_h < i)
max_h := i
flg[i + 1] := 1 ; /* <<< actual index */
}
}
}
OutputDebug(Format("min_h={:02X}00 max_h={:02X}00 min_l={:04X} max_l={:04X}`n", min_h, max_h, min_l, max_l))
/* create outline root */
root := HPDF_CreateOutline(pdf, NULL, argv[1], NULL)
HPDF_Outline_SetOpened(root, HPDF_TRUE)
; for (i = 0; i <= 255; i++)
loop 256
{
i := A_Index - 1 ; /* <<< actual index */
if (flg[A_Index]) ; /* <<< actual index */
{
; char buf[256];
buf := ""
page := HPDF_AddPage(pdf)
title_font := HPDF_GetFont(pdf, "Helvetica", NULL)
; _snprintf(buf, 256, "0x%04X-0x%04X", (i * 256 + min_l), (i * 256 + max_l))
buf := Format("0x{:04X}-0x{:04X}", (i * 256 + min_l), (i * 256 + max_l))
outline := HPDF_CreateOutline(pdf, root, buf, NULL)
dst := HPDF_Page_CreateDestination(page)
HPDF_Outline_SetDestination(outline, dst)
draw_page(pdf, page, title_font, font, i, min_l)
; _snprintf(buf, 256, "%s (%s) 0x%04X-0x%04X", argv[1], argv[2], (i * 256 + min_l), (i * 256 + max_l))
buf := Format("{:} ({:}) 0x{:04X}-0x{:04X}", argv[1], argv[2], (i * 256 + min_l), (i * 256 + max_l))
HPDF_Page_SetFontAndSize(page, title_font, 10)
HPDF_Page_BeginText(page)
HPDF_Page_MoveTextPos(page, 40, HPDF_Page_GetHeight(page) - 35)
HPDF_Page_ShowText(page, buf)
HPDF_Page_EndText(page)
}
}
HPDF_SaveToFile(pdf, fname)
HPDF_Free(pdf)
; return 0
}
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
The home page for LibHaru is http://libharu.org/
But, LibHaru is described quite thoroughly on this page .: Haru Free PDF Library
How LibHaru works is described with a number of examples, e.g. here.: Haru Free PDF Library - Examples
Regarding previous reasoning around the character map
One example is encoding_list.c (in the middle of the page) or character_map.c (at the bottom of the page)
All the examples are available as source code and show the result - very nice.
Now I testing LibHaru for AHK (currently different PDF-fonts) and it's not going so well.
Don't know, right now, if it's ignorance regarding AHK 2.0 or if it's ignorance of LibHaru C# or if features are still missing in LibHaru AHK or ...
I started by trying to handle a text file written in ANSI (but have given up - for now) -
Then I tried handling fonts from the following code ( font_demo.c - code(ruby) ) - but, the AHK 2.0 translation failed.
But, LibHaru is described quite thoroughly on this page .: Haru Free PDF Library
How LibHaru works is described with a number of examples, e.g. here.: Haru Free PDF Library - Examples
Regarding previous reasoning around the character map
One example is encoding_list.c (in the middle of the page) or character_map.c (at the bottom of the page)
All the examples are available as source code and show the result - very nice.
Now I testing LibHaru for AHK (currently different PDF-fonts) and it's not going so well.
Don't know, right now, if it's ignorance regarding AHK 2.0 or if it's ignorance of LibHaru C# or if features are still missing in LibHaru AHK or ...
I started by trying to handle a text file written in ANSI (but have given up - for now) -
ansi2pdf.ahk
Then I tried handling fonts from the following code ( font_demo.c - code(ruby) ) - but, the AHK 2.0 translation failed.
Code: Select all
#
# << Haru Free PDF Library 2.0.0 >> -- font_example.rb
#
# Copyright (c) 1999-2006 Takeshi Kanno <takeshi_kanno@est.hi-ho.ne.jp>
#
# Permission to use, copy, modify, distribute and sell this software
# and its documentation for any purpose is hereby granted without fee,
# provided that the above copyright notice appear in all copies and
# that both that copyright notice and this permission notice appear
# in supporting documentation.
# It is provided "as is" without express or implied warranty.
#
require "hpdf"
font_list = ["Courier", "Courier-Bold", "Courier-Oblique", "Courier-BoldOblique", "Helvetica", "Helvetica-Bold", "Helvetica-Oblique", "Helvetica-BoldOblique", "Times-Roman", "Times-Bold", "Times-Italic", "Times-BoldItalic", "Symbol", "ZapfDingbats", nil]
pdf = HPDFDoc.new
page = pdf.add_page
height = page.get_height
width = page.get_width
page.set_line_width(1.0)
page.rectangle(50.0, 50.0, width - 100.0, height - 110.0)
page.stroke
font1 = pdf.get_font("Helvetica", nil)
title = "Font Example"
page.set_font_and_size(font1, 24.0)
tw = page.text_width(title)
page.begin_text
page.text_out((width - tw) / 2, height - 50.0, title)
page.set_font_and_size(font1, 16.0)
page.text_out(60.0, height - 80.0, "<Standerd Type1 fonts samples>")
page.end_text
samp_text = "abcdefgABCDEFG12345!#$\%&+-@?"
page.begin_text
page.move_text_pos(60.0, height - 105.0)
i = 0
while font_list[i]
font2 = pdf.get_font(font_list[i], nil)
page.set_font_and_size(font1, 9.0)
page.show_text(font_list[i])
page.move_text_pos(0.0, -18.0)
page.set_font_and_size(font2, 20.0)
page.show_text(samp_text)
page.move_text_pos(0.0, -20.0)
i = i + 1
end
page.end_text
pdf.save_to_file($0 + ".pdf")
Re: Run AHK V2 as ANSI and 32-bit
@Albireo
Your ansi2pdf.ahk is a totally broken. It won't work - there are too many errors in the code.
I have the corrected version and it works correctly.
Also font_demo.ahk works fine.
Your ansi2pdf.ahk is a totally broken. It won't work - there are too many errors in the code.
I have the corrected version and it works correctly.
ansi2pdf.ahk
Also font_demo.ahk works fine.
font_demo.ahk
Please post your script code inside [code] ... [/code] block. Thank you.
Re: Run AHK V2 as ANSI and 32-bit
Thank you! (Very nice)
It seems so easy when the sample files are adapted to AHK 2.0 (the result is great)
Is it possible to convert the examplefile ttfont_demo.c to AHK 2.0?
It seems so easy when the sample files are adapted to AHK 2.0 (the result is great)
Is it possible to convert the examplefile ttfont_demo.c to AHK 2.0?
ttfont_demo.c (ruby)
Re: Run AHK V2 as ANSI and 32-bit
@Albireo
ttfont_demo.ahk
I don't know Ruby. Please don't post source code on it.
Please post your script code inside [code] ... [/code] block. Thank you.