Thread Alle installierten Schriftarten in array schreiben (Win32) (17 answers)
Opened by Kean at 2011-05-23 10:58

pktm
 2011-05-23 11:49
#149040 #149040
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hm, blöd. Das Modul scheint tatsächlich nicht zu funktionieren. Ich bekomme hier in der VM mit WinXP folgende Ausgabe:
Code: (dl )
No such file or directory at ftest.pl line 10.


Bei folgendem Skript:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!perl

use strict;
use warnings;
use utf8;
use Data::Dumper qw/Dumper/;
use Win32::Fonts::Info;

my $F=Win32::Fonts::Info->new() or die $!;
my $truetypefonts = $F->GetTrueTypeFonts() or die $!;

print Dumper($F);
exit(0);


Dann doch besser das, was GwenDragon da bei den Perlmonks gefunden hat:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!perl

use strict;
use warnings;
use utf8;

$|=1;

use Win32API::Registry qw( :ALL );

my ($key, $uIndex, $name, $nameLength, $type, $data, $dataLength );
my $ok=RegOpenKeyEx( HKEY_LOCAL_MACHINE , "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Fonts", 0, KEY_READ, $key );
if($key){
my $uIndex=0;
do{
RegEnumValue ( $key, $uIndex, $name, $nameLength, [], $type, $data, $dataLength );
print "$name=$data\r\n";
$uIndex++;
}
while(!regLastError());
}
RegCloseKey( $key );


Das funktioniert auch, zumindest werden ganz viele Schriften ausgegeben :)
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread Alle installierten Schriftarten in array schreiben (Win32)