diff --git a/chocolatey/Pipfile b/chocolatey/Pipfile deleted file mode 100644 index 6712c7024..000000000 --- a/chocolatey/Pipfile +++ /dev/null @@ -1,12 +0,0 @@ -[[source]] -url = "https://pypi.python.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -pyyaml = ">=4.2b1" - -[dev-packages] - -[requires] -python_version = "3.6" diff --git a/chocolatey/Pipfile.lock b/chocolatey/Pipfile.lock deleted file mode 100644 index 9b68e1067..000000000 --- a/chocolatey/Pipfile.lock +++ /dev/null @@ -1,48 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "bc726b6661f47090a5efbcd8cd7dee58887046e45e399205657b7f1e2c1bb35e" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.6" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.python.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "pyyaml": { - "hashes": [ - "sha256:02c78d77281d8f8d07a255e57abdbf43b02257f59f50cc6b636937d68efa5dd0", - "sha256:0dc9f2eb2e3c97640928dec63fd8dc1dd91e6b6ed236bd5ac00332b99b5c2ff9", - "sha256:124fd7c7bc1e95b1eafc60825f2daf67c73ce7b33f1194731240d24b0d1bf628", - "sha256:26fcb33776857f4072601502d93e1a619f166c9c00befb52826e7b774efaa9db", - "sha256:31ba07c54ef4a897758563e3a0fcc60077698df10180abe4b8165d9895c00ebf", - "sha256:3c49e39ac034fd64fd576d63bb4db53cda89b362768a67f07749d55f128ac18a", - "sha256:52bf0930903818e600ae6c2901f748bc4869c0c406056f679ab9614e5d21a166", - "sha256:5a3f345acff76cad4aa9cb171ee76c590f37394186325d53d1aa25318b0d4a09", - "sha256:5e7ac4e0e79a53451dc2814f6876c2fa6f71452de1498bbe29c0b54b69a986f4", - "sha256:7242790ab6c20316b8e7bb545be48d7ed36e26bbe279fd56f2c4a12510e60b4b", - "sha256:737bd70e454a284d456aa1fa71a0b429dd527bcbf52c5c33f7c8eee81ac16b89", - "sha256:8635d53223b1f561b081ff4adecb828fd484b8efffe542edcfdff471997f7c39", - "sha256:8b818b6c5a920cbe4203b5a6b14256f0e5244338244560da89b7b0f1313ea4b6", - "sha256:8bf38641b4713d77da19e91f8b5296b832e4db87338d6aeffe422d42f1ca896d", - "sha256:a36a48a51e5471513a5aea920cdad84cbd56d70a5057cca3499a637496ea379c", - "sha256:b2243dd033fd02c01212ad5c601dafb44fbb293065f430b0d3dbf03f3254d615", - "sha256:cc547d3ead3754712223abb7b403f0a184e4c3eae18c9bb7fd15adef1597cc4b", - "sha256:cc552b6434b90d9dbed6a4f13339625dc466fd82597119897e9489c953acbc22", - "sha256:f3790156c606299ff499ec44db422f66f05a7363b39eb9d5b064f17bd7d7c47b", - "sha256:f7a21e3d99aa3095ef0553e7ceba36fb693998fbb1226f1392ce33681047465f", - "sha256:fdc6b2cb4b19e431994f25a9160695cc59a4e861710cc6fc97161c5e845fc579" - ], - "index": "pypi", - "version": "==5.4" - } - }, - "develop": {} -} diff --git a/chocolatey/README.md b/chocolatey/README.md deleted file mode 100644 index 71bc70a5a..000000000 --- a/chocolatey/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Chocolatey packages for nerd-fonts - -Script to generate chocolatey packages for nerd-fonts. - -## Requirements - -- [pipenv](https://github.com/pypa/pipenv/) -- [PyYAML](https://pyyaml.org/) -- [chocolatey](https://chocolatey.org/) - -## Setup - -- Run `pipenv install` to setup the virtual environment. -- Ensure that `choco` binary is in the `PATH`. - -## Usage - -Run the `generate_packages.py` which reads `fonts.yml` file and generates the chocolatey packages. - -### fonts.yml - -The `YAML` file describes the fonts to be packaged. - -- `version`: The version of nerd-fonts to be downloaded. -- `fonts.name`: The name of the nerd-font as per the `github release assets`. -- `fonts.sha256`: The `SHA256` hash of the zip file. -- `fonts.installed_fonts`: The list of fonts in the zip file. - diff --git a/chocolatey/base.nuspec b/chocolatey/base.nuspec deleted file mode 100644 index 5f638ad9a..000000000 --- a/chocolatey/base.nuspec +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - https://github.com/ryanoasis/nerd-fonts - - ryanoasis - - - - - - Ryan L McIntyre - - https://nerdfonts.com/ - https://imgur.com/pEDFEje - - - https://raw.githubusercontent.com/ryanoasis/nerd-fonts/-/LICENSE - true - https://github.com/ryanoasis/nerd-fonts - https://github.com/ryanoasis/nerd-fonts/wiki - - https://github.com/ryanoasis/nerd-fonts/issues - hasklig hasklug nerd-fonts fonts ligatures coding-fonts - - Iconic font aggregator, collection, and patcher. 40+ patched fonts, over 3,600 - glyph/icons, includes popular collections such as Font Awesome & fonts such as Hack. - - - Nerd Fonts takes popular programming fonts and adds a bunch of Glyphs. - There is also a font patcher available if your desired font isn't already patched. - For more high level information see the wiki. - - -# New Features - - Added new fonts: - - Noto (all variations) (#213) - - Overpass Mono (fixes #177) - - BigBlue Terminal (fixes #170) - - Dyslexic (fixes #217) - - Iosevka Term variant (no ligatures) (fixes #198) - - FiraCode TTF variant (fixes #244) - - SourceCodePro italics variant (fixes #236) - - Added new glyph sets: - - Material Design Icons - - Weather - - Added new glyphs to core: - - Elm (fixes #172) - - Elixir (fixes #228) - - Electron (fixes #237) - - Added new translations: - - Added Traditional Chinese of readme (partially fixes #118) (PR #222) (@MindyTai) - - Added French readme (partially fixes #118) (PR #251) (@pgrimaud) - - Added ability to remove ligatures via the `--removeligatures` option in font-patcher - - Added `--configfile` option to font-patcher - -# Updates / Improvements - - Updated Hack font to latest version (v3.003) (fixes #216) (with help from @chrissimpkins) - - Updated Iosevka to the latest version (v1.14.0) (fixes #229) - - Updated Fantasque Sans Mono to the latest version (v1.7.2) (fixes #240) - - Updated MPlus version from 1.018 to 1.063 - - Updated documentation for urxvt wcwidth implementations (fixes #155) - - Updated logos and Sankey diagram - -# Breaking Updates / Improvements / Changes - - Updated Font Logos (formerly Font Linux) to latest version (fixes #157) - -# Fixes - - Fixed incorrect exitcode returned from installer (fixes #218) (PR #230 @Phuurl) - - Fixed 3270 font not being valid/installable on Windows (fixes #12, #196) - - Fixed weather variables script typo (PR #242 @snown) - - Fixed Monospaced fonts having ligatures by default (fixed Meslo Mono having ligatures) - (fixes #186) - - Fixed Hasklig ExtraLight & Light variants (fixes #231) - - - - - - - - diff --git a/chocolatey/fonts.yml b/chocolatey/fonts.yml deleted file mode 100644 index 788c38667..000000000 --- a/chocolatey/fonts.yml +++ /dev/null @@ -1,111 +0,0 @@ -version: 2.0.0 -fonts: - - name: FiraCode - sha256: 09894D24BF3D61493DBA052187A9200497135A4B885CB837BCB637AD2E62070F - installed_fonts: - - Fura Code Bold Nerd Font Complete Mono Windows Compatible.otf - - Fura Code Bold Nerd Font Complete Mono Windows Compatible.ttf - - Fura Code Bold Nerd Font Complete Mono.otf - - Fura Code Bold Nerd Font Complete Mono.ttf - - Fura Code Bold Nerd Font Complete Windows Compatible.otf - - Fura Code Bold Nerd Font Complete Windows Compatible.ttf - - Fura Code Bold Nerd Font Complete.otf - - Fura Code Bold Nerd Font Complete.ttf - - Fura Code Light Nerd Font Complete Mono Windows Compatible.otf - - Fura Code Light Nerd Font Complete Mono Windows Compatible.ttf - - Fura Code Light Nerd Font Complete Mono.otf - - Fura Code Light Nerd Font Complete Mono.ttf - - Fura Code Light Nerd Font Complete Windows Compatible.otf - - Fura Code Light Nerd Font Complete Windows Compatible.ttf - - Fura Code Light Nerd Font Complete.otf - - Fura Code Light Nerd Font Complete.ttf - - Fura Code Medium Nerd Font Complete Mono Windows Compatible.otf - - Fura Code Medium Nerd Font Complete Mono Windows Compatible.ttf - - Fura Code Medium Nerd Font Complete Mono.otf - - Fura Code Medium Nerd Font Complete Mono.ttf - - Fura Code Medium Nerd Font Complete Windows Compatible.otf - - Fura Code Medium Nerd Font Complete Windows Compatible.ttf - - Fura Code Medium Nerd Font Complete.otf - - Fura Code Medium Nerd Font Complete.ttf - - Fura Code Regular Nerd Font Complete Mono Windows Compatible.otf - - Fura Code Regular Nerd Font Complete Mono Windows Compatible.ttf - - Fura Code Regular Nerd Font Complete Mono.otf - - Fura Code Regular Nerd Font Complete Mono.ttf - - Fura Code Regular Nerd Font Complete Windows Compatible.otf - - Fura Code Regular Nerd Font Complete Windows Compatible.ttf - - Fura Code Regular Nerd Font Complete.otf - - Fura Code Regular Nerd Font Complete.ttf - - Fura Code Retina Nerd Font Complete Mono Windows Compatible.otf - - Fura Code Retina Nerd Font Complete Mono Windows Compatible.ttf - - Fura Code Retina Nerd Font Complete Mono.otf - - Fura Code Retina Nerd Font Complete Mono.ttf - - Fura Code Retina Nerd Font Complete Windows Compatible.otf - - Fura Code Retina Nerd Font Complete Windows Compatible.ttf - - Fura Code Retina Nerd Font Complete.otf - - Fura Code Retina Nerd Font Complete.ttf - - name: Hasklig - sha256: 1FD1D88F2EC48424654888E4C7AFAD7A423E4229F40B09BE323DBF4A04600DBD - installed_fonts: - - Hasklug Black Italic Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Black Italic Nerd Font Complete Mono.otf - - Hasklug Black Italic Nerd Font Complete Windows Compatible.otf - - Hasklug Black Italic Nerd Font Complete.otf - - Hasklug Black Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Black Nerd Font Complete Mono.otf - - Hasklug Black Nerd Font Complete Windows Compatible.otf - - Hasklug Black Nerd Font Complete.otf - - Hasklug Bold Italic Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Bold Italic Nerd Font Complete Mono.otf - - Hasklug Bold Italic Nerd Font Complete Windows Compatible.otf - - Hasklug Bold Italic Nerd Font Complete.otf - - Hasklug Bold Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Bold Nerd Font Complete Mono.otf - - Hasklug Bold Nerd Font Complete Windows Compatible.otf - - Hasklug Bold Nerd Font Complete.otf - - Hasklug ExtraLight Italic Nerd Font Complete Mono Windows Compatible.otf - - Hasklug ExtraLight Italic Nerd Font Complete Mono.otf - - Hasklug ExtraLight Italic Nerd Font Complete Windows Compatible.otf - - Hasklug ExtraLight Italic Nerd Font Complete.otf - - Hasklug ExtraLight Nerd Font Complete Mono Windows Compatible.otf - - Hasklug ExtraLight Nerd Font Complete Mono.otf - - Hasklug ExtraLight Nerd Font Complete Windows Compatible.otf - - Hasklug ExtraLight Nerd Font Complete.otf - - Hasklug Italic Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Italic Nerd Font Complete Mono.otf - - Hasklug Italic Nerd Font Complete Windows Compatible.otf - - Hasklug Italic Nerd Font Complete.otf - - Hasklug Light Italic Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Light Italic Nerd Font Complete Mono.otf - - Hasklug Light Italic Nerd Font Complete Windows Compatible.otf - - Hasklug Light Italic Nerd Font Complete.otf - - Hasklug Light Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Light Nerd Font Complete Mono.otf - - Hasklug Light Nerd Font Complete Windows Compatible.otf - - Hasklug Light Nerd Font Complete.otf - - Hasklug Medium Italic Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Medium Italic Nerd Font Complete Mono.otf - - Hasklug Medium Italic Nerd Font Complete Windows Compatible.otf - - Hasklug Medium Italic Nerd Font Complete.otf - - Hasklug Medium Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Medium Nerd Font Complete Mono.otf - - Hasklug Medium Nerd Font Complete Windows Compatible.otf - - Hasklug Medium Nerd Font Complete.otf - - Hasklug Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Nerd Font Complete Mono.otf - - Hasklug Nerd Font Complete Windows Compatible.otf - - Hasklug Nerd Font Complete.otf - - Hasklug Semibold Italic Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Semibold Italic Nerd Font Complete Mono.otf - - Hasklug Semibold Italic Nerd Font Complete Windows Compatible.otf - - Hasklug Semibold Italic Nerd Font Complete.otf - - Hasklug Semibold Nerd Font Complete Mono Windows Compatible.otf - - Hasklug Semibold Nerd Font Complete Mono.otf - - Hasklug Semibold Nerd Font Complete Windows Compatible.otf - - Hasklug Semibold Nerd Font Complete.otf - - name: Inconsolata - sha256: 7EF196CE9FA7B4BC3F9E0290A0DE0FBEFEE123A705BA84A1993D6336A92A5164 - installed_fonts: - - Inconsolata Nerd Font Complete Mono Windows Compatible.otf - - Inconsolata Nerd Font Complete Mono.otf - - Inconsolata Nerd Font Complete Windows Compatible.otf - - Inconsolata Nerd Font Complete.otf diff --git a/chocolatey/generate_packages.py b/chocolatey/generate_packages.py deleted file mode 100644 index d4f5cb896..000000000 --- a/chocolatey/generate_packages.py +++ /dev/null @@ -1,101 +0,0 @@ -from __future__ import print_function -import os -import re -import shutil -import subprocess -import sys -import xml.etree.ElementTree as ET -import yaml - -XMLNS = {'nuspec': 'http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd'} - - -def pwd(): - """ Current dir of the script. """ - return os.path.realpath(os.path.dirname(sys.argv[0])) - - -def kebab_case(inp): - """ Convert from `CamelCase` to `kebab-case`. """ - s1 = re.sub('(.)([A-Z][a-z]+)', r'\1-\2', inp) - return re.sub('([a-z0-9])([A-Z])', r'\1-\2', s1).lower() - - -def generate_nuspec(font, version): - """ Write the `.nuspec` file. """ - font_id = kebab_case(font) + '-nerd-font' - # Parse the tree - tree = ET.parse('base.nuspec') - root = tree.getroot() - # id - id_ = root[0].find('nuspec:id', namespaces=XMLNS) - id_.text = font_id - # version - ver_ = root[0].find('nuspec:version', namespaces=XMLNS) - ver_.text = version - # title - title_ = root[0].find('nuspec:title', namespaces=XMLNS) - title_.text = font + ' Nerd Font' - - font_dir = os.path.join(pwd(), font_id) - if not os.path.exists(font_dir): - os.mkdir(font_dir) - - with open(os.path.join(font_dir, font_id + '.nuspec'), 'wb') as f: - f.write(ET.tostring(root, encoding='utf8')) - - # Copy tools - tools_src_dir = os.path.join(pwd(), 'tools') - tools_dest_dir = os.path.join(font_dir, 'tools') - if os.path.exists(tools_dest_dir): - shutil.rmtree(tools_dest_dir) - shutil.copytree(tools_src_dir, tools_dest_dir) - - -def generate_choco_scripts(font, version, sha256_hash, installed_fonts): - """ Generates chocolatey install and uninstall scripts """ - # Install script - font_id = kebab_case(font) - tools_dir = os.path.join(pwd(), font_id + '-nerd-font', 'tools') - with open(os.path.join(tools_dir, 'chocolateyinstall.ps1'), 'r+') as f: - script = f.read() - script = script.format( - font=font, - version='v%s' % (version), - hash=sha256_hash) - f.seek(0) - f.write(script) - - with open(os.path.join(tools_dir, 'chocolateybeforemodify.ps1'), 'r+') as f: - script = f.read() - script = script.format(fonts=','.join('"%s"' % (x) for x in installed_fonts)) - f.seek(0) - f.write(script) - - -def main(): - """ Generate chocolatey `.nuspec` files. """ - - print('Reading config') - with open('fonts.yml') as f: - config = yaml.load(f) - - # generate `.nuspec` - for font in config['fonts']: - print('Generating chocolatey package for', font['name']) - generate_nuspec(font['name'], config['version']) - generate_choco_scripts(font['name'], config['version'], font['sha256'], - font['installed_fonts']) - - # create choco `.nupkg` package - for dir_ in os.listdir(pwd()): - if os.path.isdir(dir_) and dir_ != 'tools': - subprocess.call - print('Packaging', dir_) - subprocess.call(['choco', 'pack'], cwd=os.path.join(pwd(), dir_)) - - print('Done') - - -if __name__ == '__main__': - main() diff --git a/chocolatey/tools/Add-Font.ps1 b/chocolatey/tools/Add-Font.ps1 deleted file mode 100644 index 3006730f2..000000000 --- a/chocolatey/tools/Add-Font.ps1 +++ /dev/null @@ -1,614 +0,0 @@ -######################################################################################### -# MICROSOFT LEGAL STATEMENT FOR SAMPLE SCRIPTS/CODE -######################################################################################### -# This Sample Code is provided for the purpose of illustration only and is not -# intended to be used in a production environment. -# -# THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY -# OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. -# -# We grant You a nonexclusive, royalty-free right to use and modify the Sample Code -# and to reproduce and distribute the object code form of the Sample Code, provided -# that You agree: -# (i) to not use Our name, logo, or trademarks to market Your software product -# in which the Sample Code is embedded; -# (ii) to include a valid copyright notice on Your software product in which -# the Sample Code is embedded; and -# (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and -# against any claims or lawsuits, including attorneys’ fees, that arise -# or result from the use or distribution of the Sample Code. -######################################################################################### - -#****************************************************************************** -# File: Add-Font.ps1 -# Date: 08/28/2013 -# Version: 1.0.1 -# -# Purpose: PowerShell script to install Windows fonts. -# -# Usage: Add-Font -help | -path "" -# -# Copyright (C) 2010 Microsoft Corporation -# -# -# Revisions: -# ---------- -# 1.0.0 09/22/2010 Created script. -# 1.0.1 08/28/2013 Fixed help text. Added quotes around paths in messages. -# -#****************************************************************************** - -#requires -Version 2.0 - -#******************************************************************* -# Declare Parameters -#******************************************************************* -param( - [string] $path = "", - [switch] $help = $false -) - - -#******************************************************************* -# Declare Global Variables and Constants -#******************************************************************* - -# Define constants -set-variable CSIDL_FONTS 0x14 -option constant - -# Create hashtable containing valid font file extensions and text to append to Registry entry name. -$hashFontFileTypes = @{} -$hashFontFileTypes.Add(".fon", "") -$hashFontFileTypes.Add(".fnt", "") -$hashFontFileTypes.Add(".ttf", " (TrueType)") -$hashFontFileTypes.Add(".ttc", " (TrueType)") -$hashFontFileTypes.Add(".otf", " (OpenType)") -# Type 1 fonts require handling multiple resource files. -# Not supported in this script -#$hashFontFileTypes.Add(".mmm", "") -#$hashFontFileTypes.Add(".pbf", "") -#$hashFontFileTypes.Add(".pfm", "") - -# Initialize variables -$invocation = (Get-Variable MyInvocation -Scope 0).Value -$scriptPath = Split-Path $Invocation.MyCommand.Path -$fontRegistryPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" - - -#******************************************************************* -# Load C# code -#******************************************************************* -$fontCSharpCode = @' -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; -using System.Runtime.InteropServices; - -namespace FontResource -{ - public class AddRemoveFonts - { - private static IntPtr HWND_BROADCAST = new IntPtr(0xffff); - private static IntPtr HWND_TOP = new IntPtr(0); - private static IntPtr HWND_BOTTOM = new IntPtr(1); - private static IntPtr HWND_TOPMOST = new IntPtr(-1); - private static IntPtr HWND_NOTOPMOST = new IntPtr(-2); - private static IntPtr HWND_MESSAGE = new IntPtr(-3); - - [DllImport("gdi32.dll")] - static extern int AddFontResource(string lpFilename); - - [DllImport("gdi32.dll")] - static extern int RemoveFontResource(string lpFileName); - - [DllImport("user32.dll",CharSet=CharSet.Auto)] - private static extern int SendMessage(IntPtr hWnd, WM wMsg, IntPtr wParam, IntPtr lParam); - - [return: MarshalAs(UnmanagedType.Bool)] - [DllImport("user32.dll", SetLastError = true)] - private static extern bool PostMessage(IntPtr hWnd, WM Msg, IntPtr wParam, IntPtr lParam); - - public static int AddFont(string fontFilePath) { - FileInfo fontFile = new FileInfo(fontFilePath); - if (!fontFile.Exists) - { - return 0; - } - try - { - int retVal = AddFontResource(fontFilePath); - - //This version of SendMessage is a blocking call until all windows respond. - //long result = SendMessage(HWND_BROADCAST, WM.FONTCHANGE, IntPtr.Zero, IntPtr.Zero); - - //Alternatively PostMessage instead of SendMessage to prevent application hang - bool posted = PostMessage(HWND_BROADCAST, WM.FONTCHANGE, IntPtr.Zero, IntPtr.Zero); - - return retVal; - } - catch - { - return 0; - } - } - - public static int RemoveFont(string fontFileName) { - //FileInfo fontFile = new FileInfo(fontFileName); - //if (!fontFile.Exists) - //{ - // return false; - //} - try - { - int retVal = RemoveFontResource(fontFileName); - - //This version of SendMessage is a blocking call until all windows respond. - //long result = SendMessage(HWND_BROADCAST, WM.FONTCHANGE, IntPtr.Zero, IntPtr.Zero); - - //Alternatively PostMessage instead of SendMessage to prevent application hang - bool posted = PostMessage(HWND_BROADCAST, WM.FONTCHANGE, IntPtr.Zero, IntPtr.Zero); - - return retVal; - } - catch - { - return 0; - } - } - - public enum WM : uint - { - NULL = 0x0000, - CREATE = 0x0001, - DESTROY = 0x0002, - MOVE = 0x0003, - SIZE = 0x0005, - ACTIVATE = 0x0006, - SETFOCUS = 0x0007, - KILLFOCUS = 0x0008, - ENABLE = 0x000A, - SETREDRAW = 0x000B, - SETTEXT = 0x000C, - GETTEXT = 0x000D, - GETTEXTLENGTH = 0x000E, - PAINT = 0x000F, - CLOSE = 0x0010, - QUERYENDSESSION = 0x0011, - QUERYOPEN = 0x0013, - ENDSESSION = 0x0016, - QUIT = 0x0012, - ERASEBKGND = 0x0014, - SYSCOLORCHANGE = 0x0015, - SHOWWINDOW = 0x0018, - WININICHANGE = 0x001A, - SETTINGCHANGE = WM.WININICHANGE, - DEVMODECHANGE = 0x001B, - ACTIVATEAPP = 0x001C, - FONTCHANGE = 0x001D, - TIMECHANGE = 0x001E, - CANCELMODE = 0x001F, - SETCURSOR = 0x0020, - MOUSEACTIVATE = 0x0021, - CHILDACTIVATE = 0x0022, - QUEUESYNC = 0x0023, - GETMINMAXINFO = 0x0024, - PAINTICON = 0x0026, - ICONERASEBKGND = 0x0027, - NEXTDLGCTL = 0x0028, - SPOOLERSTATUS = 0x002A, - DRAWITEM = 0x002B, - MEASUREITEM = 0x002C, - DELETEITEM = 0x002D, - VKEYTOITEM = 0x002E, - CHARTOITEM = 0x002F, - SETFONT = 0x0030, - GETFONT = 0x0031, - SETHOTKEY = 0x0032, - GETHOTKEY = 0x0033, - QUERYDRAGICON = 0x0037, - COMPAREITEM = 0x0039, - GETOBJECT = 0x003D, - COMPACTING = 0x0041, - COMMNOTIFY = 0x0044, - WINDOWPOSCHANGING = 0x0046, - WINDOWPOSCHANGED = 0x0047, - POWER = 0x0048, - COPYDATA = 0x004A, - CANCELJOURNAL = 0x004B, - NOTIFY = 0x004E, - INPUTLANGCHANGEREQUEST = 0x0050, - INPUTLANGCHANGE = 0x0051, - TCARD = 0x0052, - HELP = 0x0053, - USERCHANGED = 0x0054, - NOTIFYFORMAT = 0x0055, - CONTEXTMENU = 0x007B, - STYLECHANGING = 0x007C, - STYLECHANGED = 0x007D, - DISPLAYCHANGE = 0x007E, - GETICON = 0x007F, - SETICON = 0x0080, - NCCREATE = 0x0081, - NCDESTROY = 0x0082, - NCCALCSIZE = 0x0083, - NCHITTEST = 0x0084, - NCPAINT = 0x0085, - NCACTIVATE = 0x0086, - GETDLGCODE = 0x0087, - SYNCPAINT = 0x0088, - NCMOUSEMOVE = 0x00A0, - NCLBUTTONDOWN = 0x00A1, - NCLBUTTONUP = 0x00A2, - NCLBUTTONDBLCLK = 0x00A3, - NCRBUTTONDOWN = 0x00A4, - NCRBUTTONUP = 0x00A5, - NCRBUTTONDBLCLK = 0x00A6, - NCMBUTTONDOWN = 0x00A7, - NCMBUTTONUP = 0x00A8, - NCMBUTTONDBLCLK = 0x00A9, - NCXBUTTONDOWN = 0x00AB, - NCXBUTTONUP = 0x00AC, - NCXBUTTONDBLCLK = 0x00AD, - INPUT_DEVICE_CHANGE = 0x00FE, - INPUT = 0x00FF, - KEYFIRST = 0x0100, - KEYDOWN = 0x0100, - KEYUP = 0x0101, - CHAR = 0x0102, - DEADCHAR = 0x0103, - SYSKEYDOWN = 0x0104, - SYSKEYUP = 0x0105, - SYSCHAR = 0x0106, - SYSDEADCHAR = 0x0107, - UNICHAR = 0x0109, - KEYLAST = 0x0109, - IME_STARTCOMPOSITION = 0x010D, - IME_ENDCOMPOSITION = 0x010E, - IME_COMPOSITION = 0x010F, - IME_KEYLAST = 0x010F, - INITDIALOG = 0x0110, - COMMAND = 0x0111, - SYSCOMMAND = 0x0112, - TIMER = 0x0113, - HSCROLL = 0x0114, - VSCROLL = 0x0115, - INITMENU = 0x0116, - INITMENUPOPUP = 0x0117, - MENUSELECT = 0x011F, - MENUCHAR = 0x0120, - ENTERIDLE = 0x0121, - MENURBUTTONUP = 0x0122, - MENUDRAG = 0x0123, - MENUGETOBJECT = 0x0124, - UNINITMENUPOPUP = 0x0125, - MENUCOMMAND = 0x0126, - CHANGEUISTATE = 0x0127, - UPDATEUISTATE = 0x0128, - QUERYUISTATE = 0x0129, - CTLCOLORMSGBOX = 0x0132, - CTLCOLOREDIT = 0x0133, - CTLCOLORLISTBOX = 0x0134, - CTLCOLORBTN = 0x0135, - CTLCOLORDLG = 0x0136, - CTLCOLORSCROLLBAR = 0x0137, - CTLCOLORSTATIC = 0x0138, - MOUSEFIRST = 0x0200, - MOUSEMOVE = 0x0200, - LBUTTONDOWN = 0x0201, - LBUTTONUP = 0x0202, - LBUTTONDBLCLK = 0x0203, - RBUTTONDOWN = 0x0204, - RBUTTONUP = 0x0205, - RBUTTONDBLCLK = 0x0206, - MBUTTONDOWN = 0x0207, - MBUTTONUP = 0x0208, - MBUTTONDBLCLK = 0x0209, - MOUSEWHEEL = 0x020A, - XBUTTONDOWN = 0x020B, - XBUTTONUP = 0x020C, - XBUTTONDBLCLK = 0x020D, - MOUSEHWHEEL = 0x020E, - MOUSELAST = 0x020E, - PARENTNOTIFY = 0x0210, - ENTERMENULOOP = 0x0211, - EXITMENULOOP = 0x0212, - NEXTMENU = 0x0213, - SIZING = 0x0214, - CAPTURECHANGED = 0x0215, - MOVING = 0x0216, - POWERBROADCAST = 0x0218, - DEVICECHANGE = 0x0219, - MDICREATE = 0x0220, - MDIDESTROY = 0x0221, - MDIACTIVATE = 0x0222, - MDIRESTORE = 0x0223, - MDINEXT = 0x0224, - MDIMAXIMIZE = 0x0225, - MDITILE = 0x0226, - MDICASCADE = 0x0227, - MDIICONARRANGE = 0x0228, - MDIGETACTIVE = 0x0229, - MDISETMENU = 0x0230, - ENTERSIZEMOVE = 0x0231, - EXITSIZEMOVE = 0x0232, - DROPFILES = 0x0233, - MDIREFRESHMENU = 0x0234, - IME_SETCONTEXT = 0x0281, - IME_NOTIFY = 0x0282, - IME_CONTROL = 0x0283, - IME_COMPOSITIONFULL = 0x0284, - IME_SELECT = 0x0285, - IME_CHAR = 0x0286, - IME_REQUEST = 0x0288, - IME_KEYDOWN = 0x0290, - IME_KEYUP = 0x0291, - MOUSEHOVER = 0x02A1, - MOUSELEAVE = 0x02A3, - NCMOUSEHOVER = 0x02A0, - NCMOUSELEAVE = 0x02A2, - WTSSESSION_CHANGE = 0x02B1, - TABLET_FIRST = 0x02c0, - TABLET_LAST = 0x02df, - CUT = 0x0300, - COPY = 0x0301, - PASTE = 0x0302, - CLEAR = 0x0303, - UNDO = 0x0304, - RENDERFORMAT = 0x0305, - RENDERALLFORMATS = 0x0306, - DESTROYCLIPBOARD = 0x0307, - DRAWCLIPBOARD = 0x0308, - PAINTCLIPBOARD = 0x0309, - VSCROLLCLIPBOARD = 0x030A, - SIZECLIPBOARD = 0x030B, - ASKCBFORMATNAME = 0x030C, - CHANGECBCHAIN = 0x030D, - HSCROLLCLIPBOARD = 0x030E, - QUERYNEWPALETTE = 0x030F, - PALETTEISCHANGING = 0x0310, - PALETTECHANGED = 0x0311, - HOTKEY = 0x0312, - PRINT = 0x0317, - PRINTCLIENT = 0x0318, - APPCOMMAND = 0x0319, - THEMECHANGED = 0x031A, - CLIPBOARDUPDATE = 0x031D, - DWMCOMPOSITIONCHANGED = 0x031E, - DWMNCRENDERINGCHANGED = 0x031F, - DWMCOLORIZATIONCOLORCHANGED = 0x0320, - DWMWINDOWMAXIMIZEDCHANGE = 0x0321, - GETTITLEBARINFOEX = 0x033F, - HANDHELDFIRST = 0x0358, - HANDHELDLAST = 0x035F, - AFXFIRST = 0x0360, - AFXLAST = 0x037F, - PENWINFIRST = 0x0380, - PENWINLAST = 0x038F, - APP = 0x8000, - USER = 0x0400, - CPL_LAUNCH = USER+0x1000, - CPL_LAUNCHED = USER+0x1001, - SYSTIMER = 0x118 - } - - } -} -'@ -Add-Type $fontCSharpCode - - -#******************************************************************* -# Declare Functions -#******************************************************************* - -#******************************************************************* -# Function Get-SpecialFolder() -# -# Purpose: Convert a CSIDL string to a folder parh string -# -# Input: $id CSIDL folder identifier string -# -# Returns: Folder path -# -#******************************************************************* -function Get-SpecialFolder($id) -{ - $shell = New-Object –COM "Shell.Application" - $folder = $shell.NameSpace($id) - $specialFolder = $folder.Self.Path - $specialFolder -} - - -#******************************************************************* -# Function Add-SingleFont() -# -# Purpose: Install a font file -# -# Input: $file Font file path -# -# Returns: 0 - success, 1 - failure -# -#******************************************************************* -function Add-SingleFont($filePath) -{ - try - { - [string]$filePath = (resolve-path $filePath).path - [string]$fileDir = split-path $filePath - [string]$fileName = split-path $filePath -leaf - [string]$fileExt = (Get-Item $filePath).extension - [string]$fileBaseName = $fileName -replace($fileExt ,"") - - $shell = new-object -com shell.application - $myFolder = $shell.Namespace($fileDir) - $fileobj = $myFolder.Items().Item($fileName) - $fontName = $myFolder.GetDetailsOf($fileobj,21) - - if ($fontName -eq "") { $fontName = $fileBaseName } - - copy-item $filePath -destination $fontsFolderPath - - $fontFinalPath = Join-Path $fontsFolderPath $fileName - $retVal = [FontResource.AddRemoveFonts]::AddFont($fontFinalPath) - - if ($retVal -eq 0) { - Write-Host "Font `'$($filePath)`'`' installation failed" - Write-Host "" - 1 - } - else - { - Write-Host "Font `'$($filePath)`' installed successfully" - Write-Host "" - Set-ItemProperty -path "$($fontRegistryPath)" -name "$($fontName)$($hashFontFileTypes.item($fileExt))" -value "$($fileName)" -type STRING - 0 - } - "" - } - catch - { - Write-Host "An error occured installing `'$($filePath)`'" - Write-Host "" - Write-Host "$($error[0].ToString())" - Write-Host "" - $error.clear() - 1 - } -} - - -#******************************************************************* -# Function Show-Usage() -# -# Purpose: Shows the correct usage to the user. -# -# Input: None -# -# Output: Help messages are displayed on screen. -# -#******************************************************************* -function Show-Usage() -{ -$usage = @' -Add-Font.ps1 -This script is used to install Windows fonts. - -Usage: -Add-Font.ps1 -help | -path "" - -Parameters: - - -help - Displays usage information. - - -path - May be either the path to a font file to install or the path to a folder - containing font files to install. Valid file types are .fon, .fnt, - .ttf,.ttc, .otf, .mmm, .pbf, and .pfm - -Examples: - Add-Font.ps1 - Add-Font.ps1 -path "C:\Custom Fonts\MyFont.ttf" - Add-Font.ps1 -path "C:\Custom Fonts" -'@ - -$usage -} - - -#******************************************************************* -# Function Process-Arguments() -# -# Purpose: To validate parameters and their values -# -# Input: All parameters -# -# Output: Exit script if parameters are invalid -# -#******************************************************************* -function Process-Arguments() -{ - ## Write-host 'Processing Arguments' - - if ($unnamedArgs.Length -gt 0) - { - write-host "The following arguments are not defined:" - $unnamedArgs - } - - if ($help -eq $true) - { - Show-Usage - break - } - - if ((Test-Path $path -PathType Leaf) -eq $true) - { - If ($hashFontFileTypes.ContainsKey((Get-Item $path).Extension)) - { - $retVal = Add-SingleFont $path - if ($retVal -ne 0) - { - exit 1 - } - else - { - exit 0 - } - } - else - { - "`'$($path)`' not a valid font file type" - "" - exit 1 - } - } - elseif ((Test-Path $path -PathType Container) -eq $true) - { - $bErrorOccured = $false - foreach($file in (Get-Childitem $path)) - { - - if ($hashFontFileTypes.ContainsKey($file.Extension)) - { - $retVal = Add-SingleFont (Join-Path $path $file.Name) - if ($retVal -ne 0) - { - $bErrorOccured = $true - } - } - else - { - "`'$(Join-Path $path $file.Name)`' not a valid font file type" - "" - } - } - - If ($bErrorOccured -eq $true) - { - exit 1 - } - else - { - exit 0 - } - } - else - { - "`'$($path)`' not found" - "" - exit 1 - } -} - - -#******************************************************************* -# Main Script -#******************************************************************* - -$fontsFolderPath = Get-SpecialFolder($CSIDL_FONTS) -Process-Arguments - diff --git a/chocolatey/tools/Remove-Font.ps1 b/chocolatey/tools/Remove-Font.ps1 deleted file mode 100644 index a4382cbfe..000000000 --- a/chocolatey/tools/Remove-Font.ps1 +++ /dev/null @@ -1,618 +0,0 @@ -######################################################################################### -# MICROSOFT LEGAL STATEMENT FOR SAMPLE SCRIPTS/CODE -######################################################################################### -# This Sample Code is provided for the purpose of illustration only and is not -# intended to be used in a production environment. -# -# THIS SAMPLE CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY -# OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. -# -# We grant You a nonexclusive, royalty-free right to use and modify the Sample Code -# and to reproduce and distribute the object code form of the Sample Code, provided -# that You agree: -# (i) to not use Our name, logo, or trademarks to market Your software product -# in which the Sample Code is embedded; -# (ii) to include a valid copyright notice on Your software product in which -# the Sample Code is embedded; and -# (iii) to indemnify, hold harmless, and defend Us and Our suppliers from and -# against any claims or lawsuits, including attorneys’ fees, that arise -# or result from the use or distribution of the Sample Code. -######################################################################################### - -#****************************************************************************** -# File: Remove-Font.ps1 -# Date: 08/28/2013 -# Version: 1.0.1 -# -# Purpose: PowerShell script to uninstall a Windows font. -# -# Usage: Remove-Font -help | -path "" -# -# Copyright (C) 2010 Microsoft Corporation -# -# -# Revisions: -# ---------- -# 1.0.0 09/22/2010 Created script. -# 1.0.1 08/28/2013 Now checking if $error[0] is not null before trying to -# echo that value in Remove-SingleFont so as not to -# generate an error when none occurred. -# -#****************************************************************************** - -#requires -Version 2.0 - -#******************************************************************* -# Declare Parameters -#******************************************************************* -param( - [string] $file = "", - [switch] $help = $false -) - - -#******************************************************************* -# Declare Global Variables and Constants -#******************************************************************* - -# Define constants -set-variable CSIDL_FONTS 0x14 -option constant - -# Create hashtable containing valid font file extensions and text to append to Registry entry name. -$hashFontFileTypes = @{} -$hashFontFileTypes.Add(".fon", "") -$hashFontFileTypes.Add(".fnt", "") -$hashFontFileTypes.Add(".ttf", " (TrueType)") -$hashFontFileTypes.Add(".ttc", " (TrueType)") -$hashFontFileTypes.Add(".otf", " (OpenType)") -# Type 1 fonts require handling multiple resource files. -# Not supported in this script -#$hashFontFileTypes.Add(".mmm", "") -#$hashFontFileTypes.Add(".pbf", "") -#$hashFontFileTypes.Add(".pfm", "") - -# Initialize variables -$invocation = (Get-Variable MyInvocation -Scope 0).Value -$scriptPath = Split-Path $Invocation.MyCommand.Path -$fontRegistryPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" - - -#******************************************************************* -# Load C# code -#******************************************************************* -$fontCSharpCode = @' -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; -using System.Runtime.InteropServices; - -namespace FontResource -{ - public class AddRemoveFonts - { - private static IntPtr HWND_BROADCAST = new IntPtr(0xffff); - private static IntPtr HWND_TOP = new IntPtr(0); - private static IntPtr HWND_BOTTOM = new IntPtr(1); - private static IntPtr HWND_TOPMOST = new IntPtr(-1); - private static IntPtr HWND_NOTOPMOST = new IntPtr(-2); - private static IntPtr HWND_MESSAGE = new IntPtr(-3); - - [DllImport("gdi32.dll")] - static extern int AddFontResource(string lpFilename); - - [DllImport("gdi32.dll")] - static extern int RemoveFontResource(string lpFileName); - - [DllImport("user32.dll",CharSet=CharSet.Auto)] - private static extern int SendMessage(IntPtr hWnd, WM wMsg, IntPtr wParam, IntPtr lParam); - - [return: MarshalAs(UnmanagedType.Bool)] - [DllImport("user32.dll", SetLastError = true)] - private static extern bool PostMessage(IntPtr hWnd, WM Msg, IntPtr wParam, IntPtr lParam); - - public static int AddFont(string fontFilePath) { - FileInfo fontFile = new FileInfo(fontFilePath); - if (!fontFile.Exists) - { - return 0; - } - try - { - int retVal = AddFontResource(fontFilePath); - - //This version of SendMessage is a blocking call until all windows respond. - //long result = SendMessage(HWND_BROADCAST, WM.FONTCHANGE, IntPtr.Zero, IntPtr.Zero); - - //Alternatively PostMessage instead of SendMessage to prevent application hang - bool posted = PostMessage(HWND_BROADCAST, WM.FONTCHANGE, IntPtr.Zero, IntPtr.Zero); - - return retVal; - } - catch - { - return 0; - } - } - - public static int RemoveFont(string fontFileName) { - //FileInfo fontFile = new FileInfo(fontFileName); - //if (!fontFile.Exists) - //{ - // return false; - //} - try - { - int retVal = RemoveFontResource(fontFileName); - - //This version of SendMessage is a blocking call until all windows respond. - //long result = SendMessage(HWND_BROADCAST, WM.FONTCHANGE, IntPtr.Zero, IntPtr.Zero); - - //Alternatively PostMessage instead of SendMessage to prevent application hang - bool posted = PostMessage(HWND_BROADCAST, WM.FONTCHANGE, IntPtr.Zero, IntPtr.Zero); - - return retVal; - } - catch - { - return 0; - } - } - - public enum WM : uint - { - NULL = 0x0000, - CREATE = 0x0001, - DESTROY = 0x0002, - MOVE = 0x0003, - SIZE = 0x0005, - ACTIVATE = 0x0006, - SETFOCUS = 0x0007, - KILLFOCUS = 0x0008, - ENABLE = 0x000A, - SETREDRAW = 0x000B, - SETTEXT = 0x000C, - GETTEXT = 0x000D, - GETTEXTLENGTH = 0x000E, - PAINT = 0x000F, - CLOSE = 0x0010, - QUERYENDSESSION = 0x0011, - QUERYOPEN = 0x0013, - ENDSESSION = 0x0016, - QUIT = 0x0012, - ERASEBKGND = 0x0014, - SYSCOLORCHANGE = 0x0015, - SHOWWINDOW = 0x0018, - WININICHANGE = 0x001A, - SETTINGCHANGE = WM.WININICHANGE, - DEVMODECHANGE = 0x001B, - ACTIVATEAPP = 0x001C, - FONTCHANGE = 0x001D, - TIMECHANGE = 0x001E, - CANCELMODE = 0x001F, - SETCURSOR = 0x0020, - MOUSEACTIVATE = 0x0021, - CHILDACTIVATE = 0x0022, - QUEUESYNC = 0x0023, - GETMINMAXINFO = 0x0024, - PAINTICON = 0x0026, - ICONERASEBKGND = 0x0027, - NEXTDLGCTL = 0x0028, - SPOOLERSTATUS = 0x002A, - DRAWITEM = 0x002B, - MEASUREITEM = 0x002C, - DELETEITEM = 0x002D, - VKEYTOITEM = 0x002E, - CHARTOITEM = 0x002F, - SETFONT = 0x0030, - GETFONT = 0x0031, - SETHOTKEY = 0x0032, - GETHOTKEY = 0x0033, - QUERYDRAGICON = 0x0037, - COMPAREITEM = 0x0039, - GETOBJECT = 0x003D, - COMPACTING = 0x0041, - COMMNOTIFY = 0x0044, - WINDOWPOSCHANGING = 0x0046, - WINDOWPOSCHANGED = 0x0047, - POWER = 0x0048, - COPYDATA = 0x004A, - CANCELJOURNAL = 0x004B, - NOTIFY = 0x004E, - INPUTLANGCHANGEREQUEST = 0x0050, - INPUTLANGCHANGE = 0x0051, - TCARD = 0x0052, - HELP = 0x0053, - USERCHANGED = 0x0054, - NOTIFYFORMAT = 0x0055, - CONTEXTMENU = 0x007B, - STYLECHANGING = 0x007C, - STYLECHANGED = 0x007D, - DISPLAYCHANGE = 0x007E, - GETICON = 0x007F, - SETICON = 0x0080, - NCCREATE = 0x0081, - NCDESTROY = 0x0082, - NCCALCSIZE = 0x0083, - NCHITTEST = 0x0084, - NCPAINT = 0x0085, - NCACTIVATE = 0x0086, - GETDLGCODE = 0x0087, - SYNCPAINT = 0x0088, - NCMOUSEMOVE = 0x00A0, - NCLBUTTONDOWN = 0x00A1, - NCLBUTTONUP = 0x00A2, - NCLBUTTONDBLCLK = 0x00A3, - NCRBUTTONDOWN = 0x00A4, - NCRBUTTONUP = 0x00A5, - NCRBUTTONDBLCLK = 0x00A6, - NCMBUTTONDOWN = 0x00A7, - NCMBUTTONUP = 0x00A8, - NCMBUTTONDBLCLK = 0x00A9, - NCXBUTTONDOWN = 0x00AB, - NCXBUTTONUP = 0x00AC, - NCXBUTTONDBLCLK = 0x00AD, - INPUT_DEVICE_CHANGE = 0x00FE, - INPUT = 0x00FF, - KEYFIRST = 0x0100, - KEYDOWN = 0x0100, - KEYUP = 0x0101, - CHAR = 0x0102, - DEADCHAR = 0x0103, - SYSKEYDOWN = 0x0104, - SYSKEYUP = 0x0105, - SYSCHAR = 0x0106, - SYSDEADCHAR = 0x0107, - UNICHAR = 0x0109, - KEYLAST = 0x0109, - IME_STARTCOMPOSITION = 0x010D, - IME_ENDCOMPOSITION = 0x010E, - IME_COMPOSITION = 0x010F, - IME_KEYLAST = 0x010F, - INITDIALOG = 0x0110, - COMMAND = 0x0111, - SYSCOMMAND = 0x0112, - TIMER = 0x0113, - HSCROLL = 0x0114, - VSCROLL = 0x0115, - INITMENU = 0x0116, - INITMENUPOPUP = 0x0117, - MENUSELECT = 0x011F, - MENUCHAR = 0x0120, - ENTERIDLE = 0x0121, - MENURBUTTONUP = 0x0122, - MENUDRAG = 0x0123, - MENUGETOBJECT = 0x0124, - UNINITMENUPOPUP = 0x0125, - MENUCOMMAND = 0x0126, - CHANGEUISTATE = 0x0127, - UPDATEUISTATE = 0x0128, - QUERYUISTATE = 0x0129, - CTLCOLORMSGBOX = 0x0132, - CTLCOLOREDIT = 0x0133, - CTLCOLORLISTBOX = 0x0134, - CTLCOLORBTN = 0x0135, - CTLCOLORDLG = 0x0136, - CTLCOLORSCROLLBAR = 0x0137, - CTLCOLORSTATIC = 0x0138, - MOUSEFIRST = 0x0200, - MOUSEMOVE = 0x0200, - LBUTTONDOWN = 0x0201, - LBUTTONUP = 0x0202, - LBUTTONDBLCLK = 0x0203, - RBUTTONDOWN = 0x0204, - RBUTTONUP = 0x0205, - RBUTTONDBLCLK = 0x0206, - MBUTTONDOWN = 0x0207, - MBUTTONUP = 0x0208, - MBUTTONDBLCLK = 0x0209, - MOUSEWHEEL = 0x020A, - XBUTTONDOWN = 0x020B, - XBUTTONUP = 0x020C, - XBUTTONDBLCLK = 0x020D, - MOUSEHWHEEL = 0x020E, - MOUSELAST = 0x020E, - PARENTNOTIFY = 0x0210, - ENTERMENULOOP = 0x0211, - EXITMENULOOP = 0x0212, - NEXTMENU = 0x0213, - SIZING = 0x0214, - CAPTURECHANGED = 0x0215, - MOVING = 0x0216, - POWERBROADCAST = 0x0218, - DEVICECHANGE = 0x0219, - MDICREATE = 0x0220, - MDIDESTROY = 0x0221, - MDIACTIVATE = 0x0222, - MDIRESTORE = 0x0223, - MDINEXT = 0x0224, - MDIMAXIMIZE = 0x0225, - MDITILE = 0x0226, - MDICASCADE = 0x0227, - MDIICONARRANGE = 0x0228, - MDIGETACTIVE = 0x0229, - MDISETMENU = 0x0230, - ENTERSIZEMOVE = 0x0231, - EXITSIZEMOVE = 0x0232, - DROPFILES = 0x0233, - MDIREFRESHMENU = 0x0234, - IME_SETCONTEXT = 0x0281, - IME_NOTIFY = 0x0282, - IME_CONTROL = 0x0283, - IME_COMPOSITIONFULL = 0x0284, - IME_SELECT = 0x0285, - IME_CHAR = 0x0286, - IME_REQUEST = 0x0288, - IME_KEYDOWN = 0x0290, - IME_KEYUP = 0x0291, - MOUSEHOVER = 0x02A1, - MOUSELEAVE = 0x02A3, - NCMOUSEHOVER = 0x02A0, - NCMOUSELEAVE = 0x02A2, - WTSSESSION_CHANGE = 0x02B1, - TABLET_FIRST = 0x02c0, - TABLET_LAST = 0x02df, - CUT = 0x0300, - COPY = 0x0301, - PASTE = 0x0302, - CLEAR = 0x0303, - UNDO = 0x0304, - RENDERFORMAT = 0x0305, - RENDERALLFORMATS = 0x0306, - DESTROYCLIPBOARD = 0x0307, - DRAWCLIPBOARD = 0x0308, - PAINTCLIPBOARD = 0x0309, - VSCROLLCLIPBOARD = 0x030A, - SIZECLIPBOARD = 0x030B, - ASKCBFORMATNAME = 0x030C, - CHANGECBCHAIN = 0x030D, - HSCROLLCLIPBOARD = 0x030E, - QUERYNEWPALETTE = 0x030F, - PALETTEISCHANGING = 0x0310, - PALETTECHANGED = 0x0311, - HOTKEY = 0x0312, - PRINT = 0x0317, - PRINTCLIENT = 0x0318, - APPCOMMAND = 0x0319, - THEMECHANGED = 0x031A, - CLIPBOARDUPDATE = 0x031D, - DWMCOMPOSITIONCHANGED = 0x031E, - DWMNCRENDERINGCHANGED = 0x031F, - DWMCOLORIZATIONCOLORCHANGED = 0x0320, - DWMWINDOWMAXIMIZEDCHANGE = 0x0321, - GETTITLEBARINFOEX = 0x033F, - HANDHELDFIRST = 0x0358, - HANDHELDLAST = 0x035F, - AFXFIRST = 0x0360, - AFXLAST = 0x037F, - PENWINFIRST = 0x0380, - PENWINLAST = 0x038F, - APP = 0x8000, - USER = 0x0400, - CPL_LAUNCH = USER+0x1000, - CPL_LAUNCHED = USER+0x1001, - SYSTIMER = 0x118 - } - - } -} -'@ -Add-Type $fontCSharpCode - - -#******************************************************************* -# Declare Functions -#******************************************************************* - -#******************************************************************* -# Function Get-SpecialFolder() -# -# Purpose: Convert a CSIDL string to a folder parh string -# -# Input: $id CSIDL folder identifier string -# -# Returns: Folder path -# -#******************************************************************* -function Get-SpecialFolder($id) -{ - $shell = New-Object –COM "Shell.Application" - $folder = $shell.NameSpace($id) - $specialFolder = $folder.Self.Path - $specialFolder -} - - -#******************************************************************* -# Function Get-RegistryStringNameFromValue() -# -# Purpose: Return the Registry value name -# -# Input: $keyPath Regsitry key drive path -# $valueData Regsitry value sting data -# -# Returns: Registry string value name -# -#******************************************************************* -function Get-RegistryStringNameFromValue([string] $keyPath, [string] $valueData) -{ - $pattern = [Regex]::Escape($valueData) - - foreach($property in (Get-ItemProperty $keyPath).PsObject.Properties) - { - ## Skip the property if it was one PowerShell added - if(($property.Name -eq "PSPath") -or - ($property.Name -eq "PSChildName")) - { - continue - } - ## Search the text of the property - $propertyText = "$($property.Value)" - if($propertyText -match $pattern) - { - "$($property.Name)" - } - } -} - - -#******************************************************************* -# Function Remove-SingleFont() -# -# Purpose: Uninstall a font file -# -# Input: $file Font file name -# -# Returns: 0 - success, 1 - failure -# -#******************************************************************* -function Remove-SingleFont($file) -{ - try - { - $fontFinalPath = Join-Path $fontsFolderPath $file - $retVal = [FontResource.AddRemoveFonts]::RemoveFont($fontFinalPath) - if ($retVal -eq 0) { - Write-Host "Font `'$($file)`' removal failed" - Write-Host "" - 1 - } - else - { - $fontRegistryvaluename = (Get-RegistryStringNameFromValue $fontRegistryPath $file) - Write-Host "Font: $($fontRegistryvaluename)" - if ($fontRegistryvaluename -ne "") - { - Remove-ItemProperty -path $fontRegistryPath -name $fontRegistryvaluename - } - Remove-Item $fontFinalPath - if ($error[0] -ne $null) - { - Write-Host "An error occured removing $`'$($file)`'" - Write-Host "" - Write-Host "$($error[0].ToString())" - $error.clear() - } - else - { - Write-Host "Font `'$($file)`' removed successfully" - Write-Host "" - } - 0 - } - "" - } - catch - { - Write-Host "An error occured removing `'$($file)`'" - Write-Host "" - Write-Host "$($error[0].ToString())" - Write-Host "" - $error.clear() - 1 - } -} - - -#******************************************************************* -# Function Show-Usage() -# -# Purpose: Shows the correct usage to the user. -# -# Input: None -# -# Output: Help messages are displayed on screen. -# -#******************************************************************* -function Show-Usage() -{ -$usage = @' -Remove-Font.ps1 -This script is used to uninstall a Windows font. - -Usage: -Remove-Font.ps1 -help | -path "" - -Parameters: - - -help - Displays usage information. - - -file - Font file name. Files located in \Windows\Fonts. Valid file - types are .fon, .fnt, .ttf,.ttc, .otf, .mmm, .pbf, and .pfm - -Examples: - Remove-Font.ps1 - Remove-Font.ps1 -file "MyFont.ttf" -'@ - -$usage -} - - -#******************************************************************* -# Function Process-Arguments() -# -# Purpose: To validate parameters and their values -# -# Input: All parameters -# -# Output: Exit script if parameters are invalid -# -#******************************************************************* -function Process-Arguments() -{ - ## Write-host 'Processing Arguments' - - if ($unnamedArgs.Length -gt 0) - { - write-host "The following arguments are not defined:" - $unnamedArgs - } - - if ($help -eq $true) - { - Show-Usage - break - } - - $fontFilePath = Join-Path $fontsFolderPath $file - if ((Test-Path $fontFilePath -PathType Leaf) -eq $true) - { - If ($hashFontFileTypes.ContainsKey((Get-Item $fontFilePath).Extension)) - { - $retVal = Remove-SingleFont $file - if ($retVal -ne 0) - { - exit 1 - } - else - { - exit 0 - } - } - else - { - "`'$($fontFilePath)`' not a valid font file type" - "" - exit 1 - } - } - else - { - "`'$($fontFilePath)`' not found" - "" - exit 1 - } -} - - -#******************************************************************* -# Main Script -#******************************************************************* - -$fontsFolderPath = Get-SpecialFolder($CSIDL_FONTS) -Process-Arguments - diff --git a/chocolatey/tools/chocolateybeforemodify.ps1 b/chocolatey/tools/chocolateybeforemodify.ps1 deleted file mode 100644 index 4e637fcf7..000000000 --- a/chocolatey/tools/chocolateybeforemodify.ps1 +++ /dev/null @@ -1,11 +0,0 @@ -# Removing fonts -function Get-CurrentDirectory -{{ - $thisName = $MyInvocation.MyCommand.Name - [IO.Path]::GetDirectoryName((Get-Content function:$thisName).File) -}} - -$RemoveFont = Join-Path (Get-CurrentDirectory) "Remove-Font.ps1" -foreach ($font in ({fonts})) {{ - & "$RemoveFont" "$font" -}} diff --git a/chocolatey/tools/chocolateyinstall.ps1 b/chocolatey/tools/chocolateyinstall.ps1 deleted file mode 100644 index 2071d8a64..000000000 --- a/chocolatey/tools/chocolateyinstall.ps1 +++ /dev/null @@ -1,19 +0,0 @@ -$tools = Split-Path $MyInvocation.MyCommand.Definition -$package = Join-Path (Split-Path $tools) "fonts" - -function Get-CurrentDirectory -{{ - $thisName = $MyInvocation.MyCommand.Name - [IO.Path]::GetDirectoryName((Get-Content function:$thisName).File) -}} - -Install-ChocolateyZipPackage ` - -PackageName "$env:ChocolateyPackageName" ` - -Url 'https://github.com/ryanoasis/nerd-fonts/releases/download/{version}/{font}.zip' ` - -Checksum '{hash}' ` - -ChecksumType 'SHA256' ` - -UnzipLocation $package - -$AddFont = Join-Path (Get-CurrentDirectory) 'Add-Font.ps1' -& $AddFont -Path "$package" -Remove-Item -Recurse -Force $package