Installed Font Names
- PuzzledGreatly
- Posts: 1303
- Joined: 29 Sep 2013, 22:18
Installed Font Names
I know how to loop through teh installed fonts folder but is there a way to get the actual font name from the file name? Thanks.
- PuzzledGreatly
- Posts: 1303
- Joined: 29 Sep 2013, 22:18
Re: Installed Font Names
Thanks, I was hoping there might be an ahk solution, also doesn't seem to deal with ttf type fonts?
Re: Installed Font Names
well this from user tmplinshi
https://autohotkey.com/boards/viewtopic.php?f=6&t=813
[Class] CustomFont - Load font from file or resource, without needed install to system.
here example with otfinfo
https://autohotkey.com/boards/viewtopic.php?f=6&t=813
[Class] CustomFont - Load font from file or resource, without needed install to system.
here example with otfinfo
Code: Select all
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%
setformat,float,0.2
transform,S,chr,32 ;space
ifnotexist,otfinfo.exe
{
msgbox,download otfinfo.exe from=`nhttp://math.sut.ac.th/lab/software/texlive/bin/win32/otfinfo.exe
;https://autohotkey.com/boards/viewtopic.php?f=22&t=824
;https://autohotkey.com/boards/viewtopic.php?f=6&t=813 ;- classcustomfont tmplinshi
;http://www.lcdf.org/type/otfinfo.1.html
exitapp
}
SetBatchLines, -1
extensions:="otf,ttf"
F4=%a_scriptdir%\Fontnames.txt
T1:=31
fdx=C:\windows\fonts
Loop,%fdx%\*.*
{
If A_LoopFileExt in %Extensions%
{
f1=%A_loopfilefullpath%
if f1=
continue
f5=%a_loopfilename%
pr=otfinfo -a "%f1%"
pr:=pr
F2:=StdoutToVar_CreateProcess(pr)
stringtrimright,f2,f2,2
F5:= LP(F5,T1,S,"L") ;-
F2:= LP(F2,T1,S,"L")
e4x .= F2 . " " . F5 . "`r`n"
}
}
if e4x<>
{
ifexist,%f4%
filedelete,%f4%
fileappend,%fdx%`r`n----------------------------`r`n%e4x%,%f4%
}
e4x=
run,%f4%
return
;=======================================================================================
;------------- functionx von BoBo Linepaddingx --------------------------
LP(String,FieldLen,ToAppend,Justification)
{
StringLen, StringLen, String
LCnt := FieldLen-StringLen
Loop, % LCnt
Appended := (Appended . ToAppend)
If Justification = R
Return (Appended . String)
If Justification = L
Return (String . Appended)
}
return
;=======================================================================
;--------- http://ahkscript.org/boards/viewtopic.php?f=6&t=791 ---
;-- from user cyruz
;-- Last edited by cyruz on Sun Mar 09, 2014 12:51 pm, edited 6 times in total
StdoutToVar_CreateProcess(sCmd, sDir:="", ByRef nExitCode:=0) {
DllCall( "CreatePipe", PtrP,hStdOutRd, PtrP,hStdOutWr, Ptr,0, UInt,0 )
DllCall( "SetHandleInformation", Ptr,hStdOutWr, UInt,1, UInt,1 )
VarSetCapacity( pi, (A_PtrSize == 4) ? 16 : 24, 0 )
siSz := VarSetCapacity( si, (A_PtrSize == 4) ? 68 : 104, 0 )
NumPut( siSz, si, 0, "UInt" )
NumPut( 0x100, si, (A_PtrSize == 4) ? 44 : 60, "UInt" )
NumPut( hStdInRd, si, (A_PtrSize == 4) ? 56 : 80, "Ptr" )
NumPut( hStdOutWr, si, (A_PtrSize == 4) ? 60 : 88, "Ptr" )
NumPut( hStdOutWr, si, (A_PtrSize == 4) ? 64 : 96, "Ptr" )
If ( !DllCall( "CreateProcess", Ptr,0, Ptr,&sCmd, Ptr,0, Ptr,0, Int,True, UInt,0x08000000
, Ptr,0, Ptr,sDir?&sDir:0, Ptr,&si, Ptr,&pi ) )
Return ""
, DllCall( "CloseHandle", Ptr,hStdOutWr )
, DllCall( "CloseHandle", Ptr,hStdOutRd )
DllCall( "CloseHandle", Ptr,hStdOutWr ) ; The write pipe must be closed before reading the stdout.
VarSetCapacity(sTemp, 4095)
While ( DllCall( "ReadFile", Ptr,hStdOutRd, Ptr,&sTemp, UInt,4095, PtrP,nSize, Ptr,0 ) )
sOutput .= StrGet(&sTemp, nSize, A_FileEncoding)
DllCall( "GetExitCodeProcess", Ptr,NumGet(pi,0), Ptr,&nExitCode ), nExitCode := NumGet(nExitCode)
DllCall( "CloseHandle", Ptr,NumGet(pi,0) )
DllCall( "CloseHandle", Ptr,NumGet(pi,A_PtrSize) )
DllCall( "CloseHandle", Ptr,hStdOutRd )
Return sOutput
}
;------------------------------------------------------------------------------------------------------
Re: Installed Font Names
script from tmplinshi with otfinfo.exe , check C:\windows\fonts
Code: Select all
/*
https://autohotkey.com/boards/viewtopic.php?f=6&t=813
CustomFont v2.00 (2016-2-24)
Description: Load font from file or resource, without needed install to system.
*/
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%
SetBatchLines, -1
ifnotexist,otfinfo.exe
{
msgbox,download otfinfo.exe from=`nhttp://math.sut.ac.th/lab/software/texlive/bin/win32/otfinfo.exe
;https://autohotkey.com/boards/viewtopic.php?f=22&t=824
;https://autohotkey.com/boards/viewtopic.php?f=6&t=813 ;- classcustomfont tmplinshi
;http://www.lcdf.org/type/otfinfo.1.html
exitapp
}
extensions:="otf,ttf"
Gui,3:Color, Black
Gui,3:Color, ControlColor, Black
Gui,3:Font,,FixedSys
Gui,3:show ,x10 y10 h250 w500,FONTS_TEST
Gui,3:add,edit,x10 y10 h180 w470 vED1 hwndhText cYellow,Line1_Test`nLine2_Test`nLine3_Test
Gui,3:add,edit,x10 y200 h25 w470 readonly cRed vED2
gosub,a2
return
;---------------------------------------------------------------
3Guiclose:
exitapp
;---------------------------------------------------------------
;---- example-2 --------------------------------------------------------
a2:
Gui,3:submit,nohide
fdx=C:\WINDOWS\Fonts
;fdx=%a_scriptdir%
ifexist,%fdx%
{
Loop,%fdx%\*.*
{
If A_LoopFileExt in %Extensions%
{
f1=%A_loopfilefullpath%
if f1=
continue
pr=otfinfo -a "%f1%"
pr:=pr
F2:=StdoutToVar_CreateProcess(pr)
stringtrimright,f2,f2,2
font1:=""
fontx=res:%f1%
fontx:=fontx
;msgbox,F2=%f2%`nFONTX=%fontx%
;font1 := New CustomFont("res:moonhouse.ttf", "moonhouse", 50)
font1 := New CustomFont(fontx,F2, 50)
font1.applyTo(hText)
guicontrol,3: ,ED2,%f2%
fontx:=""
F2:=""
sleep,1600
}
}
}
return
;================================================================
/*
#Include Class_CustomFont.ahk
Font1 := New CustomFont("CHOCD TRIAL___.otf")
Gui, Margin, 30, 10
Gui, Color, DECFB2
Gui, Font, s100 c510B01, Chocolate Dealer
Gui, Add, Text, w400, Chocolate
Gui, Show
Return
GuiClose:
ExitApp
*/
/*
;sample-2
#Include Class_CustomFont.ahk
font1 := New CustomFont("res:moonhouse.ttf", "moonhouse", 50)
font2 := New CustomFont("res:Selavy.otf", "Selavy-Regular", 20)
Gui, Color, Black
Gui, Add, Text, hwndhText1 w500 h50 c00FF00 Center, AutoHotkey
Gui, Add, Text, hwndhText2 wp hp cWhite Center, https://www.autohotkey.com/
Gui, Add, Button, xm gRemoveFont1, Remove Font1
font1.applyTo(hText1)
font2.applyTo(hText2)
Gui, Show
Return
RemoveFont1:
font1 := ""
WinSet, Redraw,, A
Return
GuiClose:
ExitApp
FileInstall, moonhouse.ttf, -
FileInstall, Selavy.otf, -
*/
;==================================================================
/*
CustomFont v2.00 (2016-2-24)
---------------------------------------------------------
Description: Load font from file or resource, without needed install to system.
---------------------------------------------------------
Useage Examples:
* Load From File
font1 := New CustomFont("ewatch.ttf")
Gui, Font, s100, ewatch
* Load From Resource
Gui, Add, Text, HWNDhCtrl w400 h200, 12345
font2 := New CustomFont("res:ewatch.ttf", "ewatch", 80) ; <- Add a res: prefix to the resource name.
font2.ApplyTo(hCtrl)
* The fonts will removed automatically when script exits.
To remove a font manually, just clear the variable (e.g. font1 := "").
*/
Class CustomFont
{
static FR_PRIVATE := 0x10
__New(FontFile, FontName="", FontSize=30) {
if RegExMatch(FontFile, "i)res:\K.*", _FontFile) {
this.AddFromResource(_FontFile, FontName, FontSize)
} else {
this.AddFromFile(FontFile)
}
}
AddFromFile(FontFile) {
DllCall( "AddFontResourceEx", "Str", FontFile, "UInt", this.FR_PRIVATE, "UInt", 0 )
this.data := FontFile
}
AddFromResource(ResourceName, FontName, FontSize = 30) {
static FW_NORMAL := 400, DEFAULT_CHARSET := 0x1
nSize := this.ResRead(fData, ResourceName)
fh := DllCall( "AddFontMemResourceEx", "Ptr", &fData, "UInt", nSize, "UInt", 0, "UIntP", nFonts )
hFont := DllCall( "CreateFont", Int,FontSize, Int,0, Int,0, Int,0, UInt,FW_NORMAL, UInt,0
, Int,0, Int,0, UInt,DEFAULT_CHARSET, Int,0, Int,0, Int,0, Int,0, Str,FontName )
this.data := {fh: fh, hFont: hFont}
}
ApplyTo(hCtrl) {
SendMessage, 0x30, this.data.hFont, 1,, ahk_id %hCtrl%
}
__Delete() {
if IsObject(this.data) {
DllCall( "RemoveFontMemResourceEx", "UInt", this.data.fh )
DllCall( "DeleteObject" , "UInt", this.data.hFont )
} else {
DllCall( "RemoveFontResourceEx" , "Str", this.data, "UInt", this.FR_PRIVATE, "UInt", 0 )
}
}
; ResRead() By SKAN, from http://www.autohotkey.com/board/topic/57631-crazy-scripting-resource-only-dll-for-dummies-36l-v07/?p=609282
ResRead( ByRef Var, Key ) {
VarSetCapacity( Var, 128 ), VarSetCapacity( Var, 0 )
If ! ( A_IsCompiled ) {
FileGetSize, nSize, %Key%
FileRead, Var, *c %Key%
Return nSize
}
If hMod := DllCall( "GetModuleHandle", UInt,0 )
If hRes := DllCall( "FindResource", UInt,hMod, Str,Key, UInt,10 )
If hData := DllCall( "LoadResource", UInt,hMod, UInt,hRes )
If pData := DllCall( "LockResource", UInt,hData )
Return VarSetCapacity( Var, nSize := DllCall( "SizeofResource", UInt,hMod, UInt,hRes ) )
, DllCall( "RtlMoveMemory", Str,Var, UInt,pData, UInt,nSize )
Return 0
}
}
;=========================================================================
;--------- http://ahkscript.org/boards/viewtopic.php?f=6&t=791 ---
;-- from user cyruz
;-- Last edited by cyruz on Sun Mar 09, 2014 12:51 pm, edited 6 times in total
StdoutToVar_CreateProcess(sCmd, sDir:="", ByRef nExitCode:=0) {
DllCall( "CreatePipe", PtrP,hStdOutRd, PtrP,hStdOutWr, Ptr,0, UInt,0 )
DllCall( "SetHandleInformation", Ptr,hStdOutWr, UInt,1, UInt,1 )
VarSetCapacity( pi, (A_PtrSize == 4) ? 16 : 24, 0 )
siSz := VarSetCapacity( si, (A_PtrSize == 4) ? 68 : 104, 0 )
NumPut( siSz, si, 0, "UInt" )
NumPut( 0x100, si, (A_PtrSize == 4) ? 44 : 60, "UInt" )
NumPut( hStdInRd, si, (A_PtrSize == 4) ? 56 : 80, "Ptr" )
NumPut( hStdOutWr, si, (A_PtrSize == 4) ? 60 : 88, "Ptr" )
NumPut( hStdOutWr, si, (A_PtrSize == 4) ? 64 : 96, "Ptr" )
If ( !DllCall( "CreateProcess", Ptr,0, Ptr,&sCmd, Ptr,0, Ptr,0, Int,True, UInt,0x08000000
, Ptr,0, Ptr,sDir?&sDir:0, Ptr,&si, Ptr,&pi ) )
Return ""
, DllCall( "CloseHandle", Ptr,hStdOutWr )
, DllCall( "CloseHandle", Ptr,hStdOutRd )
DllCall( "CloseHandle", Ptr,hStdOutWr ) ; The write pipe must be closed before reading the stdout.
VarSetCapacity(sTemp, 4095)
While ( DllCall( "ReadFile", Ptr,hStdOutRd, Ptr,&sTemp, UInt,4095, PtrP,nSize, Ptr,0 ) )
sOutput .= StrGet(&sTemp, nSize, A_FileEncoding)
DllCall( "GetExitCodeProcess", Ptr,NumGet(pi,0), Ptr,&nExitCode ), nExitCode := NumGet(nExitCode)
DllCall( "CloseHandle", Ptr,NumGet(pi,0) )
DllCall( "CloseHandle", Ptr,NumGet(pi,A_PtrSize) )
DllCall( "CloseHandle", Ptr,hStdOutRd )
Return sOutput
}
;------------------------------------------------------------------------------------------------------
;======================================================================================================
Re: Installed Font Names
The following script displays a list of fonts:
Code: Select all
#NoEnv
#Warn
Gui Add, ListView, x8 y8 w273 h362, Font name
LV_ModifyCol(1, 250)
Global FontList := []
EnumFonts() {
hDC := DllCall("GetDC", "UInt", DllCall("GetDesktopWindow"))
Callback := RegisterCallback("EnumFontsCallback", "F")
DllCall("EnumFontFamilies", "UInt", hDC, "UInt", 0, "Ptr", Callback, "UInt", lParam := 0)
DllCall("ReleaseDC", "UInt", hDC)
}
EnumFontsCallback(lpelf) {
FontList.Push(StrGet(lpelf + 28, 32))
Return True
}
EnumFonts()
Loop % FontList.MaxIndex() {
LV_Add("", FontList[A_Index])
}
Gui Show, w290 h379, Fonts
Return
GuiEscape:
GuiClose:
ExitApp
- PuzzledGreatly
- Posts: 1303
- Joined: 29 Sep 2013, 22:18
Re: Installed Font Names
Thanks for the replies, and especially Alguimist. That works perfectly. How long did it take you get to grips with DllCall? How to learn about it. Brilliant. Thanks again.
Re: Installed Font Names
thank you Alguimist for script
tmplinshi's idea was to add a special font to an ahk script , I was just playing with fonts
here with otfinfo.exe
tmplinshi's idea was to add a special font to an ahk script , I was just playing with fonts
Code: Select all
;-------- saved at Samstag, 12. März 2016 09:24:30 --------------
;-------- https://autohotkey.com/boards/viewtopic.php?f=5&t=14838 ---
#NoEnv
#Warn
Gui Add, ListView, x8 y8 w273 h362 sort, Font name
LV_ModifyCol(1, 250)
Global FontList := []
EnumFonts() {
hDC := DllCall("GetDC", "UInt", DllCall("GetDesktopWindow"))
Callback := RegisterCallback("EnumFontsCallback", "F")
DllCall("EnumFontFamilies", "UInt", hDC, "UInt", 0, "Ptr", Callback, "UInt", lParam := 0)
DllCall("ReleaseDC", "UInt", hDC)
}
EnumFontsCallback(lpelf) {
FontList.Push(StrGet(lpelf + 28, 32))
Return True
}
EnumFonts()
Loop, % FontList.MaxIndex()
LV_Add("", FontList[A_Index])
Gui Show, w290 h379, Fonts
aa:=FontList.MaxIndex()
msgbox,Total= %aa% ;- 217 / 343 in C:\windows\fonts
Return
GuiEscape:
GuiClose:
ExitApp
here with otfinfo.exe
Code: Select all
C:\windows\fonts
----------------------------
Agency FB AGENCYB.TTF
Agency FB AGENCYR.TTF
Algerian ALGER.TTF
Book Antiqua ANTQUAB.TTF
Book Antiqua ANTQUABI.TTF
Book Antiqua ANTQUAI.TTF
Arial arial.ttf
Arial Alternative Symbol Arialals.ttf
Arial Alternative Arialalt.ttf
Arial arialbd.ttf
Arial arialbi.ttf
Arial ariali.ttf
Arial Narrow ARIALN.TTF
Arial Narrow ARIALNB.TTF
Arial Narrow ARIALNBI.TTF
Arial Narrow ARIALNI.TTF
Arial Unicode MS ARIALUNI.TTF
Arial Black ariblk.ttf
Arimo Arimo-Bold.ttf
Arimo Arimo-BoldItalic.ttf
Arimo Arimo-Italic.ttf
Arimo Arimo-Regular.ttf
Arial Rounded MT Bold ARLRDBD.TTF
Baskerville Old Face BASKVILL.TTF
Bauhaus 93 BAUHS93.TTF
Bell MT BELL.TTF
Bell MT BELLB.TTF
Bell MT BELLI.TTF
Bernard MT Condensed BERNHC.TTF
Book Antiqua BKANT.TTF
Bodoni MT BOD_B.TTF
Bodoni MT BOD_BI.TTF
Bodoni MT Black BOD_BLAI.TTF
Bodoni MT Black BOD_BLAR.TTF
Bodoni MT Condensed BOD_CB.TTF
Bodoni MT Condensed BOD_CBI.TTF
Bodoni MT Condensed BOD_CI.TTF
Bodoni MT Condensed BOD_CR.TTF
Bodoni MT BOD_I.TTF
Bodoni MT Poster Compressed BOD_PSTC.TTF
Bodoni MT BOD_R.TTF
Bookman Old Style BOOKOS.TTF
Bookman Old Style BOOKOSB.TTF
Bookman Old Style BOOKOSBI.TTF
Bookman Old Style BOOKOSI.TTF
Bradley Hand ITC BRADHITC.TTF
Britannic Bold BRITANIC.TTF
Berlin Sans FB BRLNSB.TTF
Berlin Sans FB Demi BRLNSDB.TTF
Berlin Sans FB BRLNSR.TTF
Broadway BROADW.TTF
Brush Script MT BRUSHSCI.TTF
Bookshelf Symbol 7 BSSYM7.TTF
Calibri CALIBRI.TTF
Calibri CALIBRIB.TTF
Calibri CALIBRII.TTF
Calibri CALIBRIZ.TTF
Californian FB CALIFB.TTF
Californian FB CALIFI.TTF
Californian FB CALIFR.TTF
Calisto MT CALIST.TTF
Calisto MT CALISTB.TTF
Calisto MT CALISTBI.TTF
Calisto MT CALISTI.TTF
Cambria CAMBRIA0.ttf
Cambria Math CAMBRIA1.ttf
Cambria CAMBRIAB.TTF
Cambria CAMBRIAI.TTF
Cambria CAMBRIAZ.TTF
Candara CANDARA.TTF
Candara CANDARAB.TTF
Candara CANDARAI.TTF
Candara CANDARAZ.TTF
Castellar CASTELAR.TTF
Century Schoolbook CENSCBK.TTF
Centaur CENTAUR.TTF
Century CENTURY.TTF
Chiller CHILLER.TTF
Colonna MT COLONNA.TTF
Comic Sans MS comic.ttf
Comic Sans MS comicbd.ttf
Consolas CONSOLA.TTF
Consolas CONSOLAB.TTF
Consolas CONSOLAI.TTF
Consolas CONSOLAZ.TTF
Constantia CONSTAN.TTF
Constantia CONSTANB.TTF
Constantia CONSTANI.TTF
Constantia CONSTANZ.TTF
Cooper Black COOPBL.TTF
Copperplate Gothic Bold COPRGTB.TTF
Copperplate Gothic Light COPRGTL.TTF
Corbel CORBEL.TTF
Corbel CORBELB.TTF
Corbel CORBELI.TTF
Corbel CORBELZ.TTF
Courier New cour.ttf
Courier New courbd.ttf
Courier New courbi.ttf
Courier New couri.ttf
Curlz MT CURLZ___.TTF
DejaVu Sans Condensed DejaVuCondensedSans.ttf
DejaVu Sans Condensed DejaVuCondensedSansBold.ttf
DejaVu Sans Condensed DejaVuCondensedSansBoldOblique.ttf
DejaVu Sans Condensed DejaVuCondensedSansOblique.ttf
DejaVu Serif Condensed DejaVuCondensedSerif.ttf
DejaVu Serif Condensed DejaVuCondensedSerifBold.ttf
DejaVu Serif Condensed DejaVuCondensedSerifBoldItalic.ttf
DejaVu Serif Condensed DejaVuCondensedSerifItalic.ttf
DejaVu Sans Mono DejaVuMonoSans.ttf
DejaVu Sans Mono DejaVuMonoSansBold.ttf
DejaVu Sans Mono DejaVuMonoSansBoldOblique.ttf
DejaVu Sans Mono DejaVuMonoSansOblique.ttf
DejaVu Sans DejaVuSans-Bold.ttf
DejaVu Sans DejaVuSans-BoldOblique.ttf
DejaVu Sans Light DejaVuSans-ExtraLight.ttf
DejaVu Sans DejaVuSans-Oblique.ttf
DejaVu Sans DejaVuSans.ttf
DejaVu Sans DejaVuSansBold.ttf
DejaVu Sans DejaVuSansBoldOblique.ttf
DejaVu Sans Condensed DejaVuSansCondensed-Bold.ttf
DejaVu Sans Condensed DejaVuSansCondensed-BoldOblique.ttf
DejaVu Sans Condensed DejaVuSansCondensed-Oblique.ttf
DejaVu Sans Condensed DejaVuSansCondensed.ttf
DejaVu Sans Light DejaVuSansExtraLight.ttf
DejaVu Sans Mono DejaVuSansMono-Bold.ttf
DejaVu Sans Mono DejaVuSansMono-BoldOblique.ttf
DejaVu Sans Mono DejaVuSansMono-Oblique.ttf
DejaVu Sans Mono DejaVuSansMono.ttf
DejaVu Sans DejaVuSansOblique.ttf
DejaVu Serif DejaVuSerif-Bold.ttf
DejaVu Serif DejaVuSerif-BoldItalic.ttf
DejaVu Serif DejaVuSerif-Italic.ttf
DejaVu Serif DejaVuSerif.ttf
DejaVu Serif DejaVuSerifBold.ttf
DejaVu Serif DejaVuSerifBoldItalic.ttf
DejaVu Serif Condensed DejaVuSerifCondensed-Bold.ttf
DejaVu Serif Condensed DejaVuSerifCondensed-BoldItalic.ttf
DejaVu Serif Condensed DejaVuSerifCondensed-Italic.ttf
DejaVu Serif Condensed DejaVuSerifCondensed.ttf
DejaVu Serif DejaVuSerifItalic.ttf
Elephant ELEPHNT.TTF
Elephant ELEPHNTI.TTF
Engravers MT ENGR.TTF
Eras Bold ITC ERASBD.TTF
Eras Demi ITC ERASDEMI.TTF
Eras Light ITC ERASLGHT.TTF
Eras Medium ITC ERASMD.TTF
Estrangelo Edessa estre.ttf
Felix Titling FELIXTI.TTF
FixedsysTTF Fixedsys500c.ttf
Forte FORTE.TTF
Franklin Gothic Book FRABK.TTF
Franklin Gothic Book FRABKIT.TTF
Franklin Gothic Demi FRADM.TTF
Franklin Gothic Demi Cond FRADMCN.TTF
Franklin Gothic Demi FRADMIT.TTF
Franklin Gothic Heavy FRAHV.TTF
Franklin Gothic Heavy FRAHVIT.TTF
Franklin Gothic Medium framd.ttf
Franklin Gothic Medium Cond FRAMDCN.TTF
Franklin Gothic Medium framdit.ttf
Freestyle Script FREESCPT.TTF
French Script MT FRSCRIPT.TTF
Footlight MT Light FTLTLT.TTF
Garamond GARA.TTF
Garamond GARABD.TTF
Garamond GARAIT.TTF
Gautami gautami.ttf
Gentium Basic GenBasB.ttf
Gentium Basic GenBasBI.ttf
Gentium Basic GenBasI.ttf
Gentium Basic GenBasR.ttf
Gentium Book Basic GenBkBasB.ttf
Gentium Book Basic GenBkBasBI.ttf
Gentium Book Basic GenBkBasI.ttf
Gentium Book Basic GenBkBasR.ttf
Georgia georgia.ttf
Georgia georgiab.ttf
Georgia georgiai.ttf
Georgia georgiaz.ttf
Gigi GIGI.TTF
Gill Sans MT GILBI___.TTF
Gill Sans MT GILB____.TTF
Gill Sans MT Condensed GILC____.TTF
Gill Sans MT GILI____.TTF
Gill Sans Ultra Bold Condensed GILLUBCD.TTF
Gill Sans Ultra Bold GILSANUB.TTF
Gill Sans MT GIL_____.TTF
Gloucester MT Extra Condensed GLECB.TTF
Gill Sans MT Ext Condensed Bold GLSNECB.TTF
Century Gothic GOTHIC.TTF
Century Gothic GOTHICB.TTF
Century Gothic GOTHICBI.TTF
Century Gothic GOTHICI.TTF
Goudy Old Style GOUDOS.TTF
Goudy Old Style GOUDOSB.TTF
Goudy Old Style GOUDOSI.TTF
Goudy Stout GOUDYSTO.TTF
Harlow Solid Italic HARLOWSI.TTF
Harrington HARNGTON.TTF
Haettenschweiler HATTEN.TTF
High Tower Text HTOWERT.TTF
High Tower Text HTOWERTI.TTF
Impact impact.ttf
Imprint MT Shadow IMPRISHA.TTF
Informal Roman INFROMAN.TTF
Blackadder ITC ITCBLKAD.TTF
Edwardian Script ITC ITCEDSCR.TTF
Kristen ITC ITCKRIST.TTF
Jokerman JOKERMAN.TTF
Juice ITC JUICE___.TTF
Kartika kartika.ttf
Kunstler Script KUNSTLER.TTF
Latha latha.ttf
Wide Latin LATINWD.TTF
Lucida Bright LBRITE.TTF
Lucida Bright LBRITED.TTF
Lucida Bright LBRITEDI.TTF
Lucida Bright LBRITEI.TTF
Lucida Calligraphy LCALLIG.TTF
Lucida Fax LFAX.TTF
Lucida Fax LFAXD.TTF
Lucida Fax LFAXDI.TTF
Lucida Fax LFAXI.TTF
Lucida Handwriting LHANDW.TTF
Liberation Sans Narrow LiberationSansNarrow-Bold.ttf
Liberation Sans Narrow LiberationSansNarrow-BoldItalic.ttf
Liberation Sans Narrow LiberationSansNarrow-Italic.ttf
Liberation Sans Narrow LiberationSansNarrow-Regular.ttf
Lucida Sans LSANS.TTF
Lucida Sans LSANSD.TTF
Lucida Sans LSANSDI.TTF
Lucida Sans LSANSI.TTF
Lucida Sans Typewriter LTYPE.TTF
Lucida Sans Typewriter LTYPEB.TTF
Lucida Sans Typewriter LTYPEBO.TTF
Lucida Sans Typewriter LTYPEO.TTF
Lucida Console lucon.ttf
Lucida Sans Unicode l_10646.ttf
Magneto MAGNETOB.TTF
Maiandra GD MAIAN.TTF
Mangal mangal.ttf
marlett.ttf
Matura MT Script Capitals MATURASC.TTF
Microsoft Sans Serif micross.ttf
Mistral MISTRAL.TTF
Modern No. 20 MOD20.TTF
moonhouse moonhouse.ttf
MS Mincho MSMINCHO.TTF
Monotype Corsiva MTCORSVA.TTF
MV Boli mvboli.ttf
Niagara Engraved NIAGENG.TTF
Niagara Solid NIAGSOL.TTF
OCR A Extended OCRAEXT.TTF
Old English Text MT OLDENGL.TTF
Onyx ONYX.TTF
OpenSymbol opens___.ttf
MS Outlook OUTLOOK.TTF
Palatino Linotype pala.ttf
Palatino Linotype palab.ttf
Palatino Linotype palabi.ttf
Palatino Linotype palai.ttf
Palace Script MT PALSCRI.TTF
Papyrus PAPYRUS.TTF
Parchment PARCHM.TTF
Perpetua PERBI___.TTF
Perpetua PERB____.TTF
Perpetua PERI____.TTF
Perpetua Titling MT PERTIBD.TTF
Perpetua Titling MT PERTILI.TTF
Perpetua PER_____.TTF
Playbill PLAYBILL.TTF
Poor Richard POORICH.TTF
Pristina PRISTINA.TTF
PT Sans Caption PTC55F.ttf
PT Sans Caption PTC75F.ttf
PT Sans Narrow PTN57F.ttf
PT Sans Narrow PTN77F.ttf
PT Sans PTS55F.ttf
PT Sans PTS56F.ttf
PT Sans PTS75F.ttf
PT Sans PTS76F.ttf
Raavi raavi.ttf
Rage Italic RAGE.TTF
Ravie RAVIE.TTF
MS Reference Sans Serif REFSAN.TTF
MS Reference Specialty REFSPCL.TTF
Rockwell Condensed ROCCB___.TTF
Rockwell Condensed ROCC____.TTF
Rockwell ROCK.TTF
Rockwell ROCKB.TTF
Rockwell ROCKBI.TTF
Rockwell Extra Bold ROCKEB.TTF
Rockwell ROCKI.TTF
Century Schoolbook SCHLBKB.TTF
Century Schoolbook SCHLBKBI.TTF
Century Schoolbook SCHLBKI.TTF
Script MT Bold SCRIPTBL.TTF
Segoe UI SEGOEUI.TTF
Segoe UI SEGOEUIB.TTF
Segoe UI SEGOEUII.TTF
Segoe UI SEGOEUIZ.TTF
Selavy Regular Selavy.otf
Showcard Gothic SHOWG.TTF
Shruti shruti.ttf
Snap ITC SNAP____.TTF
Stencil STENCIL.TTF
Sylfaen sylfaen.ttf
Symbol symbol.ttf
Tahoma tahoma.ttf
Tahoma tahomabd.ttf
Tw Cen MT TCBI____.TTF
Tw Cen MT TCB_____.TTF
Tw Cen MT Condensed TCCB____.TTF
Tw Cen MT Condensed Extra Bold TCCEB.TTF
Tw Cen MT Condensed TCCM____.TTF
Tw Cen MT TCMI____.TTF
Tw Cen MT TCM_____.TTF
Tempus Sans ITC TEMPSITC.TTF
Times New Roman times.ttf
Times New Roman timesbd.ttf
Times New Roman timesbi.ttf
Times New Roman timesi.ttf
Trebuchet MS trebuc.ttf
Trebuchet MS trebucbd.ttf
Trebuchet MS trebucbi.ttf
Trebuchet MS trebucit.ttf
Tunga tunga.ttf
Verdana verdana.ttf
Verdana verdanab.ttf
Verdana verdanai.ttf
Verdana verdanaz.ttf
Viner Hand ITC VINERITC.TTF
Vivaldi VIVALDII.TTF
Vladimir Script VLADIMIR.TTF
Vrinda vrinda.ttf
Webdings webdings.ttf
Wingdings wingding.ttf
Wingdings 2 WINGDNG2.TTF
Wingdings 3 WINGDNG3.TTF
Re: Installed Font Names
example with script from Alguimist , to show how FONT's look like
click column or button START
click column or button START
Code: Select all
;-------- saved at Sonntag, 13. März 2016 11:14:50 --------------
;-------- https://autohotkey.com/boards/viewtopic.php?f=5&t=14838 ---
;-------- from user = Alguimist
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%
SetBatchLines, -1
Gui,3: default
Gui,3:Color, Black
Gui,3:Color, ControlColor, Black
Gui,3:Font,,FixedSys
Menu,S1,add,Script_tmplinshi ,MH1
Menu,S1,add,Script_Source ,MH1
Menu,S1,add,Script_ZIP ,MH1
Menu,S1,add,Script_alguimist ,MH1
Menu,S1,add,Ahk_Font_Help ,MH1
Menu,S1,add,OTFINFO_HELP ,MH1
Menu,S1,add,OTFINFO_Download ,MH1
Menu,S1,add,SKAN ,MH1
Menu,S1,add,Latofonts ,MH1
Menu,S1,add,FontsOldSchool ,MH1
Menu,S1,add,Fontsquirrel ,MH1
Menu,S2,add,AHK_Version ,MH2
Menu,S3,add,WindowsFonts ,MH3
;----------------------------
menu,myMenuBar,Add,Font_Links ,:S1
menu,myMenuBar,Add,AHK_Version ,:S2
menu,myMenuBar,Add,WindowsFonts ,:S3
;----------------------------
gui,3:menu,MyMenuBar
;----------------------------
Gui,3: Add, ListView, x10 y10 w270 h360 sort gLV1 vLVA1 cYellow +hscroll altsubmit, Font name
LV_ModifyCol(1, 250)
gosub,functionx
Loop, % FontList.MaxIndex()
LV_Add("", FontList[A_Index])
e4x:=""
loop,15
e4x .= "This is a testline. This is Line- #@-" . a_index . "`r`n"
Gui,3:add,edit ,x290 y10 h360 w470 vED1 hwndhText cTeal,%e4x%
Gui,3:add,edit ,x290 y380 h25 w470 readonly cRed vED2,Fixedsys
Gui,3:add,button ,x10 y380 h25 w80 gStart1 vSt1,Start
Gui,3:add,button ,x100 y380 h25 w80 gStop1 ,Stop
Gui,3:show ,x10 y10 h420 w800,WINDOWS-FONTS_TEST
Guicontrol,3:focus,st1
return
;---------------------------------------------------------------
3Guiclose:
exitapp
;---------------------------------------------------------------
LV1:
Gui,3:default
Gui,3:ListView,LVA1
Gui,3:submit,nohide
;RN:=LV_GetNext("C") ;2 selected checked
;RF:=LV_GetNext("F") ;2 selected focused
;GC:=LV_GetCount() ;4 total
if A_GuiEvent = Normal
{
LV_GetText(C1,A_EventInfo,1)
;Gui,3: font, s14 cF16400 strike, %c1% ;- change text-COLOR / SIZE / FONT
Gui,3: font, s12 cYellow normal , %c1%
Guicontrol,3: ,ED2,%c1%
Guicontrol,3: Font, ED1
Guicontrol,3: ,ED1,%ed1% ;- maybe CHANGE TEXT
}
return
;----------------------------------------
;----------------------------------------
start1:
breakloop=0
Gui,3:ListView,LVA1
i=0
loop,
{
if (breakloop=1)
break
LV_Modify(I, "-Select -Focus")
i++
LV_Modify(I, "+Select +Focus")
RF:=LV_GetNext("F") ;2 selected focused
LV_GetText(C1,RF,1)
LV_Modify(RF, "Vis") ;- scrolltox
Gui,3: font, s16 cF16400, %c1% ;- change text-COLOR / SIZE / FONT
Guicontrol,3: ,ED2,%c1%
Guicontrol,3: Font, ED1
Guicontrol,3: ,ED1,%ed1% ;- maybe CHANGE TEXT
sleep,1000
}
return
;-----------------------------
;----------------
stop1:
breakloop=1
return
;----------------
;--------------------------------------------------------------
mh1:
if A_thisMenuItem=Script_tmplinshi
run,https://autohotkey.com/boards/viewtopic.php?f=6&t=813 ;- classcustomfont tmplinshi
if A_thisMenuItem=Script_Source
run,https://gist.github.com/tmplinshi/7717340
if A_thisMenuItem=Script_ZIP
run,https://www.dropbox.com/s/4h4e559tggvk1cq/Class_CustomFont_Samples.7z?raw=1
if A_thisMenuItem=Script_alguimist
run,https://autohotkey.com/boards/viewtopic.php?f=5&t=14838
if A_thisMenuItem=Ahk_Font_Help
run,https://autohotkey.com/docs/misc/FontsStandard.htm
if A_thisMenuItem=otfinfo_Help
run,http://www.lcdf.org/type/otfinfo.1.html
if A_thisMenuItem=otfinfo_Download
run,http://math.sut.ac.th/lab/software/texlive/bin/win32/otfinfo.exe
if A_thisMenuItem=SKAN
run,https://autohotkey.com/board/topic/29396-crazy-scripting-include-and-use-truetype-font-from-script/
if A_thisMenuItem=Latofonts
run,http://www.latofonts.com/lato-free-fonts/
if A_thisMenuItem=Fontsquirrel
run,http://www.fontsquirrel.com/tools/webfont-generator
if A_thisMenuItem=FontsOldSchool
run,http://int10h.org/oldschool-pc-fonts/
Guicontrol,3:focus,st1
return
mh2:
if A_thisMenuItem=AHK_version
msgbox, 262208,AHK_Version ,Ahk-Version =%A_AHKVERSION%
Guicontrol,3:focus,st1
return
mh3:
ifexist,C:\windows\fonts
run,C:\windows\fonts
Guicontrol,3:focus,st1
return
;--------------------------------------------------------------
;----------- from user alguimist ------------------------------
;-https://autohotkey.com/boards/viewtopic.php?f=5&t=14838
functionx:
Global FontList := []
EnumFonts() {
hDC := DllCall("GetDC", "UInt", DllCall("GetDesktopWindow"))
Callback := RegisterCallback("EnumFontsCallback", "F")
DllCall("EnumFontFamilies", "UInt", hDC, "UInt", 0, "Ptr", Callback, "UInt", lParam := 0)
DllCall("ReleaseDC", "UInt", hDC)
}
EnumFontsCallback(lpelf) {
FontList.Push(StrGet(lpelf + 28, 32))
Return True
}
EnumFonts()
aa:=FontList.MaxIndex()
return
;--------------------------------------------------------------
;==============================================================
Re: Installed Font Names
This is a modified version of the font dialog present in AutoGUI:
Code: Select all
; Alternative Font Dialog
#NoEnv
#Warn
Global hFontDlg := 0
Global FontList := []
Menu Tray, Icon, main.cpl, 4
GoSub ShowFontDialog
Return
ShowFontDialog:
Gui FontDlg: New, LabelFontDlg hWndhFontDlg
Gui Color, 0xFEFEFE
Gui Add, CheckBox, vChkFontName gPreviewFont x10 y12 w152 h23, Font name:
Gui Add, Edit, vEdtFontName gDisplayFontName x10 y38 w152 h23, Ms Shell Dlg
Gui Add, ListBox, vLbxFontName gDisplayFontName x10 y66 w152 h160 -HScroll Sort
Gui Add, CheckBox, vChkFontWeight gPreviewFont x170 y12 w100 h23, Weight:
Gui Add, Edit, vEdtFontWeight gDisplayFontWeight x170 y38 w100 h23, Norm
Gui Add, ListBox, vLbxFontWeight gDisplayFontWeight x170 y66 w100 h43, Regular|Semibold|Bold
Gui Add, CheckBox, vChkFontSize gPreviewFont x278 y12 w60 h23, Size:
Gui Add, Edit, vEdtFontSize gDisplayFontSize x278 y38 w60 h23, 8
Gui Add, ListBox, vLbxFontSize gDisplayFontSize x278 y66 w60 h160, 8|9|10|11|12|13|14|15|16|17|18|20
Gui Add, CheckBox, vChkFontColor gPreviewFont x346 y12 w60 h23, Color:
Gui Add, ListView, vFontColorPreview gChooseFontColor x434 y14 w16 h16 -Hdr +Border AltSubmit
Gui Add, ComboBox, vCbxFontColor gDisplayFontColor x346 y38 w106, 0x003399|0x0066CC|0x3399FF|0x1E75BB|0x0090B3|0x00AEFF
Gui Add, ListBox, vLbxFontColor gDisplayFontColor x346 y66 w107 h160
, Black|Blue|Navy|Green|Teal|Olive|Maroon|Red|Purple|Fuchsia|Lime|Yellow|Aqua|Gray|Silver|White
Gui Add, CheckBox, vChkItalic gPreviewFont x170 y112 w100 h23, Italic
Gui Add, CheckBox, vChkUnderline gPreviewFont x170 y134 w100 h23, Underline
Gui Add, CheckBox, vChkStrikeout gPreviewFont x170 y156 w100 h23, Strikeout
Gui Add, CheckBox, vChkQuality gPreviewFont x170 y180 w100 h21, Quality:
Gui Add, DropDownList, vCbxQuality gCheckQuality x170 y205 w100 AltSubmit, Default||Draft|Proof|Non-antialiased|Antialiased|Cleartype
Gui Add, Text, vSampleText gSetSampleText x10 y234 w443 h44 +0x201 +E0x200
Gui Add, ListView, x-1 y286 w467 h49 Disabled
Gui Add, Button, gFontDlgOK x154 y299 w75 h23 Default, &OK
Gui Add, Button, gFontDlgClose x234 y299 w75 h23, &Cancel
Gui Show, w464 h334, Font
LoadFonts()
PopulateDialogFields("Segoe UI", "s12 c0x003399", "Automation. Hotkeys. Scripting")
Return
FontDlgEscape:
FontDlgClose:
;Gui FontDlg: Cancel
ExitApp
Return
LoadFonts() {
EnumFonts()
Loop % FontList.MaxIndex() {
GuiControl,, LbxFontName, % FontList[A_Index]
}
GuiControl,, LbxFontName, Ms Shell Dlg
GuiControl,, LbxFontName, Ms Shell Dlg 2
}
EnumFonts() {
hDC := DllCall("GetDC", "UInt", DllCall("GetDesktopWindow"))
Callback := RegisterCallback("EnumFontsCallback", "F")
DllCall("EnumFontFamilies", "UInt", hDC, "UInt", 0, "Ptr", Callback, "UInt", lParam := 0)
DllCall("ReleaseDC", "UInt", hDC)
}
EnumFontsCallback(lpelf) {
FontList.Push(StrGet(lpelf + 28, 32))
Return True
}
PreviewFont:
Gui FontDlg: Default
Gui Font ; Reset
GuiControl Font, SampleText
GetFontOptions(FontName, Options)
Separator := ""
If (Options != "" && FontName != "") {
Separator := ", "
}
WinSetTitle % "Font: " . FontName . Separator . Options
If (Options != "" || FontName != "") {
Gui Font, %Options%, %FontName%
GuiControl Font, SampleText
}
Return
DisplayFontName:
Gui FontDlg: Submit, NoHide
GuiControl,, ChkFontName, 1
If (A_GuiControl != "EdtFontName") {
GuiControl,, EdtFontName, % LbxFontName
} Else {
GuiControl ChooseString, LbxFontName, % EdtFontName
}
GoSub PreviewFont
Return
DisplayFontWeight:
Gui FontDlg: Submit, NoHide
GuiControl,, ChkFontWeight, 1
If (A_GuiControl != "EdtFontWeight") {
Weight := LbxFontWeight
If (Weight = "Regular") {
Weight := "Norm"
} Else If (Weight = "Semibold") {
Weight := "600"
} Else {
Weight := "Bold"
}
GuiControl,, EdtFontWeight, % Weight
} Else {
Weight := EdtFontWeight
If Weight is Integer
{
If (Weight < 551) {
Weight := "Regular"
} Else If (Weight > 550 && Weight < 612) {
Weight := "Semibold"
} Else {
Weight := "Bold"
}
}
GuiControl ChooseString, LbxFontWeight, % Weight
}
GoSub PreviewFont
Return
CheckQuality:
GuiControl,, ChkQuality, 1
GoSub PreviewFont
Return
DisplayFontSize:
Gui FontDlg: Submit, NoHide
GuiControl,, ChkFontSize, 1
If (A_GuiControl != "EdtFontSize") {
GuiControl,, EdtFontSize, % LbxFontSize
} Else {
GuiControl ChooseString, LbxFontSize, % EdtFontSize
}
GoSub PreviewFont
Return
DisplayFontColor:
Gui FontDlg: Submit, NoHide
GuiControl,, ChkFontColor, 1
If (A_GuiControl != "CbxFontColor") {
GuiControl Text, CbxFontColor, %LbxFontColor%
}
GoSub PreviewFont
Return
ChooseFontColor:
If (A_GuiEvent = "Normal") {
Color := "0x0080C0"
If (ChooseColor(Color, hFontDlg)) {
Gui FontDlg: Default
GuiControl +Background%Color%, FontColorPreview
GuiControl Text, CbxFontColor, %Color%
GuiControl,, ChkFontColor, 1
GoSub PreviewFont
}
}
Return
GetFontOptions(ByRef FontName, ByRef Options) {
Global
Gui FontDlg: Default
Gui Submit, NoHide
FontName := "", Options := ""
If (ChkFontName) {
FontName := EdtFontName
}
If (ChkFontSize) {
If (EdtFontSize != "") {
Options .= "s" . EdtFontSize . " "
}
}
If (ChkFontWeight) {
If EdtFontWeight is Integer
Options .= "w"
Options .= EdtFontWeight . " "
}
If (ChkItalic) {
Options .= "Italic "
}
If (ChkUnderline) {
Options .= "Underline "
}
If (ChkStrikeout) {
Options .= "Strike "
}
If (ChkQuality) {
Options .= "q" . (CbxQuality - 1) . " "
}
If (ChkFontColor) {
If (CbxFontColor != "") {
Options .= "c" . CbxFontColor
GuiControl +Background%CbxFontColor%, FontColorPreview
}
}
Options := RTrim(Options)
}
FontDlgOK:
GetFontOptions(FontName, FontOptions)
If (FontOptions != "") {
FontOptions := " " . FontOptions
}
If (FontName != "") {
FontName := ", " . FontName
}
Output := % "Gui Font," . FontOptions . FontName
Clipboard := Output
MsgBox 0, Font, Copied to the Clipboard:`n`n%Output%
;GoSub FontDlgClose
Return
SetSampleText:
Gui +OwnDialogs
InputBox, NewSampleText, Sample Text, New Text:,,,,,,,, Sample Text
If (!ErrorLevel && NewSampleText != "") {
GuiControl,, SampleText, %NewSampleText%
}
Return
PopulateDialogFields(FontName, Options, Text := "Sample Text") {
If (FontName != "") {
GuiControl,, ChkFontName, 1
GuiControl,, EdtFontName, % FontName
GuiControl ChooseString, LbxFontName, % FontName
}
If (Options != "") {
Options := StrSplit(Options, " ")
Loop % Options.MaxIndex() {
If (Options[A_Index] ~= "^w") {
FontWeight := SubStr(Options[A_Index], 2)
GuiControl,, ChkFontWeight, 1
GuiControl,, EdtFontWeight, % FontWeight
If (FontWeight < 551) {
GuiControl ChooseString, LbxFontWeight, Regular
} Else If (FontWeight > 550 && FontWeight < 612) {
GuiControl ChooseString, LbxFontWeight, Semibold
} Else {
GuiControl ChooseString, LbxFontWeight, Bold
}
}
If (Options[A_Index] = "Bold") {
GuiControl,, ChkFontWeight, 1
GuiControl,, EdtFontWeight, Bold
GuiControl ChooseString, LbxFontWeight, Bold
}
If (Options[A_Index] = "Italic") {
GuiControl,, ChkItalic, 1
}
If (Options[A_Index] = "Underline") {
GuiControl,, ChkUnderline, 1
}
If (Options[A_Index] = "Strike") {
GuiControl,, ChkStrikeout, 1
}
If (Options[A_Index] ~= "^q") {
FontQuality := SubStr(Options[A_Index], 2)
GuiControl,, ChkQuality, 1
GuiControl Choose, CbxQuality, % (FontQuality + 1)
}
If (Options[A_Index] ~= "^s") {
FontSize := SubStr(Options[A_Index], 2)
GuiControl,, ChkFontSize, 1
GuiControl,, EdtFontSize, % FontSize
GuiControl ChooseString, LbxFontSize, % FontSize
}
If (Options[A_Index] ~= "^c") {
FontColor := SubStr(Options[A_Index], 2)
GuiControl,, ChkFontColor, 1
GuiControl ChooseString, LbxFontColor, % FontColor
GuiControl Text, CbxFontColor, %FontColor%
}
}
}
If (Text != "") {
GuiControl,, SampleText, %Text%
}
GoSub PreviewFont
}
ChooseColor(ByRef Color, hOwner := 0) {
rgbResult := ((Color & 0xFF) << 16) + (Color & 0xFF00) + ((Color >> 16) & 0xFF)
VarSetCapacity(CHOOSECOLOR, 36, 0)
VarSetCapacity(CUSTOM, 64, 0)
NumPut(36, CHOOSECOLOR, 0) ; DWORD lStructSize
NumPut(hOwner, CHOOSECOLOR, 4)
NumPut(rgbResult, CHOOSECOLOR, 12)
NumPut(&CUSTOM, CHOOSECOLOR, 16) ; COLORREF *lpCustColors
NumPut(0x103, CHOOSECOLOR, 20) ; Flags: CC_ANYCOLOR || CC_RGBINIT
RetVal := DllCall("comdlg32\ChooseColorA", "Str", CHOOSECOLOR)
If (ErrorLevel != 0) || (RetVal = 0) {
Return False
}
rgbResult := NumGet(CHOOSECOLOR, 12)
OldFormat := A_FormatInteger
SetFormat Integer, Hex
Color := (rgbResult & 0xFF00) + ((rgbResult & 0xFF0000) >> 16) + ((rgbResult & 0xFF) << 16)
StringTrimLeft Color, Color, 2
Loop % 6 - StrLen(Color) {
Color := "0" . Color
}
Color := "0x" . Color
SetFormat Integer, %OldFormat%
Return True
}
Re: Installed Font Names
aargh, thank you Alguimist , I've forget
https://autohotkey.com/boards/viewtopic.php?f=5&t=14838
https://autohotkey.com/boards/viewtopic.php?f=5&t=14838
- PuzzledGreatly
- Posts: 1303
- Joined: 29 Sep 2013, 22:18
Re: Installed Font Names
Wow! Thank you both. You've given me some ideas.
Further investigation has shown me that the "Too many fonts" error is still there. It takes a while to show up but it does. What I don't understand with my own experimentation is that even though a Gui is destroyed the font object is retained so I guess the only way is to create the Gui using a whole other script so that when the Gui is terminated the script is terminated. It would be useful if there were an easy way to terminate font objects. Hope I'm using the right terminology.
Further investigation has shown me that the "Too many fonts" error is still there. It takes a while to show up but it does. What I don't understand with my own experimentation is that even though a Gui is destroyed the font object is retained so I guess the only way is to create the Gui using a whole other script so that when the Gui is terminated the script is terminated. It would be useful if there were an easy way to terminate font objects. Hope I'm using the right terminology.
Who is online
Users browsing this forum: Bing [Bot], Google [Bot], peter_ahk and 173 guests