Jump to content

Install Fonts Tool


Recommended Posts

Ragazzi questo Tool Installa Fonts
 
 

"InstallFontsTool.exe" "lokicola.ttf" "Loki Cola (TrueType)"

oppure

"InstallFontsTool.exe" "lokicola.ttf"

oppure

"InstallFontsTool.exe" "*.ttf"

oppure

"InstallFontsTool.exe" "FontDir"
In questo caso il cerca per File Font nella direttori FontDir e tutte le sue sottodirettori ect ect

tutte le file o direttori indicati nella riga di comando dovranno essere presenti nella stesa direttori del InstallFontsTool.exe, visto che il InstallFontsTool.exe cerca il "File\Folder" nella direttori dove sta lavorando, oppure usare un comando cosi
"InstallFontsTool.exe" "%UserProfile%\Desktop\FontDir"
oppure
"InstallFontsTool.exe" "%UserProfile%\Desktop\lokicola\lokicola.ttf"



InstallFontsTool x86
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
Hash MD5 BDB73A5921AB06BD9F6C3B56A46C218D
Filesize: 412 KB (421888 bytes)

 
 

InstallFontsTool x64
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
tabdownload.png Aggiornato (24 Ottobre 2013)
Hash MD5 D41D375A2EC052250FAEDD6DFC194CC1
Filesize: 444 KB (455168 bytes)



#RequireAdminGlobal Const $HWND_BROADCAST = 0xFFFFGlobal Const $WM_FONTCHANGE = 0x1DGlobal $aRet, $hGdi32 = DllOpen("gdi32.dll")Global $SourceFile, $FontDescript, $sDir, $sFilter, $aDirFilter;_InstallFontEx(@DesktopDir & "\SourceCodePro-ExtraLight.otf");_InstallFontEx(@DesktopDir & "\lokicola\lokicola.ttf", "Loki Cola (TrueType)")If $CmdLine[0] > 0 Then    For $Count = 1 To $CmdLine[0]        $sDir = $CmdLine[$Count]        If StringInStr($sDir, "*", 1) Then            $sFilter = StringRegExpReplace($sDir, ".*[\/\\]+", "")            $aDirFilter = StringRegExp($sDir, "(.+[^\/\\])([^\/\\]+)", 1)            If Not @Error Then                $sDir = $aDirFilter[0]                $sFilter = $aDirFilter[1]                If Not StringRegExp($aDirFilter[0], "^\h*(?:\\\\\?\\)*(\\\\[^\?\/\\]+|[A-Za-z]:)") Then $sDir = @ScriptDir & "\" & $aDirFilter[0]            Else                $sDir = @ScriptDir            EndIf            $SourceFile = _FileListToArrayEx($sDir, $sFilter, 13)            If Not @Error Then                For $y = 1 To $SourceFile[0]                    _InstallFontEx($SourceFile[$y])                Next            EndIf        Else            If Not StringRegExp($sDir, "^\h*(?:\\\\\?\\)*(\\\\[^\?\/\\]+|[A-Za-z]:)") Then $sDir = @ScriptDir & "\" & $CmdLine[$Count]            If StringInStr(FileGetAttrib($sDir), "D", 1) Then                $SourceFile = _FileListToArrayEx($sDir, "(?:\.fon$|\.ttf$|\.ttc$|\.fot$|\.otf$|\.mmm$|\.pfb$|\.pfm$|\.pfb$)", 77)                If Not @Error Then                    For $y = 1 To $SourceFile[0]                        _InstallFontEx($SourceFile[$y])                    Next                EndIf            Else                If $CmdLine[0] > $Count And StringRegExp($CmdLine[$Count + 1], "\(.+\)") Then                    $FontDescript = $CmdLine[$Count + 1]                    $Count += 1                EndIf                _InstallFontEx($sDir, $FontDescript)            EndIf        EndIf    NextElse   MsgBox(0, "Error", "Please drop files to this script to run it!" & @LF & 'example : InstallFontsTool.exe "FontsName.ttf" "Fonts Desc"')EndIfDllClose($hGdi32); #FUNCTION# ====================================================================================================================; Name...........: _InstallFontEx; Description ...: Install a Font file; Syntax.........: _InstallFontEx($sFilePath); Parameters ....: $sFilePath     - The full path file;                  $sFontDescript - Optional, Font Description;                  $sFontsPath    - Optional, Font Path Destination; Return values .: Success - Title Property; Author ........: DXRW4E; ===============================================================================================================================Func _InstallFontEx($sFilePath, $sFontDescript = "", $sFontsPath = "")    If Not $sFontsPath Then $sFontsPath = @WindowsDir & "\Fonts"    Local $sFontsName = StringRegExpReplace($sFilePath, "\A.+[\/\\]+", "")    If Not FileCopy($sFilePath, $sFontsPath & "\" & $sFontsName, 1) Then Return SetError(1, 0, 0)    $aGdi32 = DllCall($hGdi32, "Int", "AddFontResource", "str", $sFontsPath & "\" & $sFontsName)    If @Error Or Not $aGdi32[0] Then Return SetError(1, 0, 0)    If Not $sFontDescript Then        ;;$aGdi32 = DllCall($hGdi32, "int", "GetFontResourceInfoW", "wstr", $sFontsPath & "\" & $sFontsName, "dword*", 4096, "wstr", "", "dword", 1)        ;;$sFontDescript = $aGdi32[3] & _FontGetProperty($sFilePath, 1)        $sFontDescript &= _FontGetProperty($sFilePath)    EndIf    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts", $sFontDescript, "REG_SZ", $sFontsName)    DllCall("user32.dll", "Int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_FONTCHANGE, "int", 0, "int", 0)    Return 1EndFunc; #FUNCTION# ====================================================================================================================; Name...........: _FontGetProperty; Description ...: Returns a property for a Font file; Syntax.........: _FontGetProperty($sFilePath); Parameters ....: $sFilePath  - The full path file; Return values .: Success - Title Property; Author ........: DXRW4E; ===============================================================================================================================Func _FontGetProperty($sFilePath, $iFlags = 0)    ;$sFilePath = StringRegExpReplace($sFilePath, '["' & "]", "")    If Not FileExists($sFilePath) Then Return SetError(1, 0, "")    Local $sTitle, $objFolder, $objFolderItem, $objShell = ObjCreate("Shell.Application")    If @Error Then Return SetError(3, 0, "")    $objFolder = $objShell.NameSpace(StringRegExpReplace($sFilePath, "\A.+\K[\/\\][^\/\\]*$", ""))    $objFolderItem = $objFolder.Parsename(StringRegExpReplace($sFilePath, "\A.+[\/\\]+", ""))    If Not $iFlags Then        $sTitle = $objFolder.GetDetailsOf($objFolderItem, 21)        If Not $sTitle Then Return SetError(2, 0, 0)    EndIf    If StringRegExp($objFolder.GetDetailsOf($objFolderItem, 187), "(?:True|Open)Type") Then $sTitle &= " (TrueType)"    Return $sTitleEndFunc   ;==>_FontGetProperty; #FUNCTION# =======================================================================================================================================================; Name...........: _FileListToArrayEx; Description ...: Lists files and\or folders in a specified path (Similar to using Dir with the /B Switch); Syntax.........: _FileListToArrayEx($sPath[, $sFilter = "*"[, $iFlag = 0]]); Parameters ....: $sPath   - Path to generate filelist for.;                  $sFilter - Optional the filter to use, default is *. (Multiple filter groups such as "All "*.png|*.jpg|*.bmp") Search the Autoit3 helpfile for the word "WildCards" For details.;                  $iFlag   - Optional: specifies whether to return files folders or both Or Full Path (add the flags together for multiple operations):;                  |$iFlag = 0 (Default) Return both files and folders;                  |$iFlag = 1 Return files only;                  |$iFlag = 2 Return Folders only;                  |$iFlag = 4 Search SubDirectory;                  |$iFlag = 8 Return Full Path;                  |$iFlag = 16 $sFilter do Case-Sensitive matching (By Default $sFilter do Case-Insensitive matching);                  |$iFlag = 32 Disable the return the count in the first element - effectively makes the array 0-based (must use UBound() to get the size in this case).;                    By Default the first element ($array[0]) contains the number of file found, the remaining elements ($array[1], $array[2], etc.);                  |$iFlag = 64 $sFilter is REGEXP Mod, See Pattern Parameters in StringRegExp (Can not be combined with flag 16);                  |$iFlag = 128 Return Backslash at the beginning of the file name, example Return "\Filename1.xxx" (Can not be combined with flag 8); Return values .: Failure - @Error;                  |1 = Path not found or invalid;                  |2 = Invalid $sFilter;                  |3 = No File(s) Found; Author ........: DXRW4E; Modified.......:; Remarks .......: The array returned is one-dimensional and is made up as follows:;                                $array[0] = Number of Files\Folders returned;                                $array[1] = 1st File\Folder;                                $array[2] = 2nd File\Folder;                                $array[3] = 3rd File\Folder;                                $array[n] = nth File\Folder; Related .......:; Link ..........:; Example .......: Yes; Note ..........: Special Thanks to SolidSnake & Tlem; ==================================================================================================================================================================Func _FileListToArrayEx($sPath, $sFilter = "*", $iFlag = 0)    $sPath = StringRegExpReplace($sPath & "\", "(?!\A)[\\/]+\h*", "\\")    If Not FileExists($sPath) Then Return SetError(1, 1, "")    If StringRegExp($sFilter, StringReplace('^\s*$|\v|[\\/:><"]|^\||\|\||\|$', "[" & Chr(BitAND($iFlag, 64) + 28) & '\/:><"]|^\||\|\||\|$', "\\\\")) Then Return SetError(2, 2, "")    Local $hSearch, $sFile, $sFileList, $sSubDir = BitAND($iFlag, 4), $sDelim = "|", $sDirFilter = StringReplace($sFilter, "*", "")    $hSearch = FileFindFirstFile($sPath & "*")    If @Error Then Return SetError(3, 3, "")    Local $hWSearch = $hSearch, $hWSTMP, $SearchWD, $Extended, $iFlags = StringReplace(BitAND($iFlag, 1) + BitAND($iFlag, 2), "3", "0")    If BitAND($iFlag, 8) Then $sDelim &= $sPath    If BitAND($iFlag, 128) Then $sDelim = "|\"    If Not BitAND($iFlag, 64) Then $sFilter = StringRegExpReplace(BitAND($iFlag, 16) & "(?i)(", "16\(\?\i\)|\d+", "") & StringRegExpReplace(StringRegExpReplace(StringRegExpReplace(StringRegExpReplace($sFilter, "[^*?|]+", "\\Q$0\\E"), "\\E(?=\||$)", "$0\$"), "(?<=^|\|)\\Q", "^$0"), "\*+", ".*") & ")"    While 1        $sFile = FileFindNextFile($hWSearch)        If @Error Then            If $hWSearch = $hSearch Then ExitLoop            FileClose($hWSearch)            $hWSearch -= 1            $SearchWD = StringLeft($SearchWD, StringInStr($SearchWD, "\", 1, -2))        ElseIf $sSubDir Then            $Extended = @Extended            If ($iFlags + $Extended <> 2) Then                If $sDirFilter Then                    If StringRegExp($sFile, $sFilter) Then $sFileList &= $sDelim & $SearchWD & $sFile                Else                    $sFileList &= $sDelim & $SearchWD & $sFile                EndIf            EndIf            If Not $Extended Then ContinueLoop            $hWSTMP = FileFindFirstFile($sPath & $SearchWD & $sFile & "\*")            If $hWSTMP = -1 Then ContinueLoop            $hWSearch = $hWSTMP            $SearchWD &= $sFile & "\"        Else            If ($iFlags + @Extended = 2) Or StringRegExp($sFile, $sFilter) = 0 Then ContinueLoop            $sFileList &= $sDelim & $sFile        EndIf    WEnd    FileClose($hSearch)    If Not $sFileList Then Return SetError(3, 3, "")    Return StringSplit(StringTrimLeft($sFileList, 1), "|", StringReplace(BitAND($iFlag, 32), "32", 2))EndFunc    ;==>_FileListToArrayEx
Edited by OnePiece
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...