Giter Club home page Giter Club logo

fontmod's Introduction

FontMod

English 简体中文 繁体中文

Simple hook tool to change Win32 program font. Works with some GDI or Qt based program.

Proven workable on Telegram Desktop, Kleopatra (Gpg4Win) and Mendeley Desktop.

Usage

Download FontMod{32,64}.dll and rename to one of following:
dinput8.dll, dinput.dll, dsound.dll, d3d9.dll, d3d11.dll, ddraw.dll, winmm.dll, version.dll, d3d8.dll (d3d8.dll is 32bit only).
Then put in the folder of program exe.
User font: Put fonts in fonts folder to use them directly, don't need to install to system.

Config file

Will create FontMod.yaml on first run. Config file uses UTF-8 encoding. Support UTF-8 BOM.

style: &style
# Remove '#' to override font style
#  size: 0
#  width: 0
#  weight: 0
#  italic: false
#  underLine: false
#  strikeOut: false
#  charSet: 0
#  outPrecision: 0
#  clipPrecision: 0
#  quality: 0
#  pitchAndFamily: 0

fonts:
  SimSun: &zh-cn-font # Chinese (Simplified) fallback font
    replace: Microsoft YaHei
    <<: *style
  PMingLiU: # Chinese (Traditional) fallback font
    replace: Microsoft JhengHei UI
    <<: *style
  MS UI Gothic: # Japanese fallback font
    replace: Yu Gothic UI
    <<: *style
  Gulim: # Korean fallback font
    replace: 맑은 고딕
    <<: *style

fixGSOFont: true # true is to use system UI font
#fixGSOFont: *zh-cn-font # Or replace with user defined font
debug: false
  • fonts

    • key ("SimSun"): Font name to modify.
    • replace / name: Font name to replace.
    • size width weight italic underLine strikeOut charSet outPrecision clipPrecision quality pitchAndFamily: Override original font style. Please refer to MSDN docs. If you don't want to override, delete these items.
  • fixGSOFont Replace GetStockObject font, the options is same as fonts above. If set to true will use SystemParametersInfo to get system font.

  • debug Debug mode (Will log information to FontMod.log).

YAML supports anchors(&) and references (*) (Please refer to Wikipedia), this tool also supports not mandatory Merge Key function in YAML spec. You can reuse data like config file above, and don't need to copy multiple times like JSON.

If you want replace only CJK fonts and keep English font, you need to set key to CJK fallback font. This font may be different in different language environments. (For example in Chinese simplified environment is SimSun), you can use debug mode to find corresponding font.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.