Schrift
[thread]2224[/thread]

schriftarten: was ist installiert?

Leser: 1


<< >> 8 Einträge, 1 Seite
jemand
 2004-08-27 23:26
#25871 #25871
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
hi
ich wollt die user selber ihre schrift auswählen lassen aber dazu muss ich ja wissen was installiert ist.
kann man das mit java-skript irgendwie machen
wennicht muss ich halt die schriften nehmen die meistens sowieso installiert sinn
aber das 1. wär mir lieber
danke im vorraus
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
[E|B]
 2004-08-28 00:28
#25872 #25872
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Um es kurz zu machen: Unmöglich.
Mit VBScript hättest du vielleicht eine Chance, jedoch nicht mit JS.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
jemand
 2004-08-28 18:15
#25873 #25873
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
und wie gings mit vb??
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
jemand
 2004-08-29 13:13
#25874 #25874
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
*scriptgefundenhab*:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<meta name="generator" content="HTML Studio">
</head>
<body>
<form name="nix">
schriftarten:<br>
<select size="1" name="font">
<script language="VBScript">
Set WSHShell = CreateObject("Wscript.Shell")
Set Fs = CreateObject("Scripting.FileSystemObject")
WinDir = WSHShell.ExpandEnvironmentStrings("%WINDIR%")
FontDir = WinDir & "\FONTS"
TempDir = FontDir


'Die installierten Fonts werden aus der Registry gelesen.
'Es gibt - abhängig vom System - zwei mögliche Orte:

If KeyExists("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Fonts\") Then
InstalledFonts = CHR(34) & "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Fonts" & Chr(34)
Else
InstalledFonts = CHR(34) & "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" & Chr(34)
End If

Set exec = Fs.CreateTextFile(TempDir & "\fonts.bat", True)
exec.Writeline "@echo off"
exec.WriteLine "regedit.exe /e " & TempDir & "\fonts.reg " & InstalledFonts
exec.Writeline "@ctty nul"
exec.Writeline "del " & TempDir & "\fonts.bat"
exec.close
WSHShell.Run TempDir & "\fonts.bat"

'Warten, bis die Registrydatei exportiert wurde

wscript.sleep 500
Do While Fs.FileExists(TempDir & "\fonts.reg") <> True
E=E+1
wscript.sleep 100

'Sollte ein Problem mit der Registry-Datei auftreten, beendet sich das Script

If E>100 Then MsgBox "Die Schriftarten konnten nicht eingelesen werden" : Wscript.Quit
Loop


Set TempDatei = Fs.OpenTextFile(TempDir & "\fonts.reg",1,False,-2)
Do Until TempDatei.AtEndOfStream = True
Zeilenzahl=Zeilenzahl+1
TempDatei.SkipLine
Loop
TempDatei.Close

'Die Registrydatei mit den Font-Daten wird zeilenweise in ein Array eingelesen:

ReDim Zeile(ZeilenZahl) 'Eine Methode, um dynamische Arrays zu definieren
Set TempDatei = Fs.OpenTextFile(TempDir & "\fonts.reg",1,False,-2)
'On Error Resume Next
Do Until TempDatei.AtEndOfStream = True
N=N+1
Zeile(N) = TempDatei.ReadLine
If InStr(Zeile(N),"TTF")<>0 Then

'Die Zeilen(N) der Registrydatei werden analysiert und für das Mark-up aufbereitet:

FontAlias= Mid( Zeile(N), InStr( Zeile(N), Chr(34) )+1, InStr( Zeile(N), "=")-3)
FontFile= UCase(Mid((Right(Zeile(N),Len(Zeile(N))-InStr(Zeile(N),"="))),2, Len(Right(Zeile(N), Len(Zeile(N))-InStr(Zeile(N),"=")))-2))
If InStr(FontAlias, "(") Then
HTMLFace= Mid(Zeile(N),InStr(Zeile(N), Chr(34))+1, InStr(Zeile(N),"(TrueType)")-3)
Else
HTMLFace= Mid(Zeile(N),InStr(Zeile(N), Chr(34)), InStr(Zeile(N),"=")-1)
End If

'Jetzt werden die einzelnen Tablerows generiert:

HTMLTable = HTMLTable & "<option>" & FontAlias & "</option>" & Chr(10)
End If
Loop

'An dieser Stelle räumt das Script ein wenig auf, die Registrydatei wird nicht mehr benötigt.
TempDatei.Close
Fs.DeleteFile(TempDir & "\fonts.reg")

window.document.write(HTMLTable)

Function KeyExists(key)
On Error Resume Next
Wert = WSHShell.RegRead(key)
If err.Number=0 Then
KeyExists = True
Else
KeyExists = False
err.Clear
End If
end function
</script>
</select>
</form>
</body>
</html>


ist gleich in ne testhtmlseite eingebaut
allersdings kommt die fehlermeldung
Code: (dl )
object wscript not found

das ist das bei der sleep anweisung zeile 36 un die 2 zeilen danache
ich vermute dass das der WSH ist
wie lass ich das jetztz schlafen? weil der wsh ist ja nicht verfügbar??
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
esskar
 2004-08-30 00:52
#25875 #25875
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
das sieht mir eher nach vbscript aus... also eine asp seite, die genauso wie perl auf dem server ausgeführt werden muss
jemand
 2004-08-30 14:20
#25876 #25876
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
aha
hab auf apache getestet und es ging nicht mehr
als ich die seite mit file:// aufrief funktionierte es wunderbar
muss mir wohl ein neues skript suchen...
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
ptk
 2004-08-30 14:55
#25877 #25877
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Dir ist klar, dass Benutzer mit einem Nicht-Windows-Betriebssystem keinerlei Chancen haben, eine Loesung mit vbscript zu verwenden? Und dass mit restriktiven Sicherheitseinstellungen auch Benutzer mit einem Windows-Betriebssystem kein clientseitiges vbscript mit Zugriff auf das eigene System ausfuehren duerfen?
jemand
 2004-08-30 23:56
#25878 #25878
User since
2004-05-14
231 Artikel
BenutzerIn
[default_avatar]
jain
ich hab die vbskriptlösung jetzt sowieso verworfen weilz mir zu komliziert wurde und es aufm server ja nicht ging
ich lass es jetzt einfach in ein Textfeld eingeben
print uc 'i',chr(29*4).q+'s +.++($_=q-m-),++$_;
print chr for 116,$_[0],97,$_[0],98;
print 'ug,',chr(), scalar reverse qq?!erutaef a s'ti?;
<< >> 8 Einträge, 1 Seite



View all threads created 2004-08-27 23:26.