-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
379 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,292 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
<meta name="viewport" content="width=device-width initial-scale=1"> | ||
<title>Mactype Profile</title> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/5.0.0/sanitize.min.css"> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/hint.css/2.5.0/hint.min.css"> | ||
<style> | ||
*{font-family:Segoe UI,sans-serif;font-size:14px;text-shadow:0 0 1px rgba(0,0,0,.12);text-rendering:optimizeLegibility}body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default} | ||
html { background: #F0F0F0 } body { padding: 12px } | ||
.item { line-height: 1.5; margin: 2px 0 } | ||
fieldset { border: 1px solid #DCDCDC } | ||
legend { padding-left: 2px; padding-right: 2px } | ||
label { vertical-align: top; width: 160px; display: inline-block } | ||
.control { vertical-align: top; width: 128px } | ||
.value { float: right } | ||
button, select { background: #E1E1E1; border: 1px solid #ADADAD; transition: background .6s ease-out, border-color .6s ease-out; font-size: 13px } | ||
button:hover, select:hover { background: #e5f1fb; border: 1px solid #0078d7; transition: background .2s ease-in, border-color .2s ease-in } | ||
button:focus, select:focus { background: #cce4f7; outline-width: 0 } | ||
option { background: #FFF; font-size: 13px } | ||
input[type="number"] { background: #FFF; padding: 0 3px; border: 1px solid #ADADAD; font-size: 13px } | ||
.settings, #info { display: inline-block; width: 400px; margin: 5px; vertical-align: top } | ||
#info { position: relative } | ||
side { float: right } | ||
</style> | ||
</head> | ||
<body> | ||
<side>This page doesn't support IE or Edge or lower version of chromium, please use the latest Chrome or Firefox.</side> | ||
<div class="action"> | ||
<button id="copy" data-hint="Success">Copy to Clipboard</button> | ||
</div> | ||
<div class="settings"> | ||
<fieldset> | ||
<legend>General</legend> | ||
<div class="item"> | ||
<label for="HookChildProcesses">HookChildProcesses</label> | ||
<select id="HookChildProcesses" class="control"> | ||
<option value="0">Disable</option> | ||
<option value="1" selected>Enable</option> | ||
</select> | ||
<span class="value">1</span> | ||
</div> | ||
<div class="item"> | ||
<label for="HintingMode">HintingMode</label> | ||
<select id="HintingMode" class="control"> | ||
<option value="0">Normal</option> | ||
<option value="1" selected>NoHinting</option> | ||
<option value="2">AutoHinting</option> | ||
<option value="3">Light+AutoHinting</option> | ||
</select> | ||
<span class="value">1</span> | ||
</div> | ||
<div class="item"> | ||
<label for="AntiAliasMode">AntiAliasMode</label> | ||
<select id="AntiAliasMode" class="control"> | ||
<option value="-1">Disable</option> | ||
<option value="0">Normal</option> | ||
<option value="1">Light</option> | ||
<option value="2">LCD(RGB)</option> | ||
<option value="3">LCD(GBR)</option> | ||
<option value="4" selected>Light-LCD(RGB)</option> | ||
<option value="5">Light-LCD(GBR)</option> | ||
</select> | ||
<span class="value">4</span> | ||
</div> | ||
<div class="item"> | ||
<label for="NormalWeight">NormalWeight</label> | ||
<input id="NormalWeight" class="control" type="number" step="1" min="-32" max="32" value="16"> | ||
<span class="value">16</span> | ||
</div> | ||
<div class="item"> | ||
<label for="BoldWeight">BoldWeight</label> | ||
<input id="BoldWeight" class="control" type="range" step="1" min="-16" max="16" value="2"> | ||
<span class="value">2</span> | ||
</div> | ||
<div class="item"> | ||
<label for="ItalicSlant">ItalicSlant</label> | ||
<input id="ItalicSlant" class="control" type="number" step="1" min="-16" max="16" value="0"> | ||
<span class="value">0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="UseMapping">UseMapping</label> | ||
<select id="UseMapping" class="control"> | ||
<option value="0" selected>Disable</option> | ||
<option value="1">Enable</option> | ||
</select> | ||
<span class="value">0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="GammaMode">GammaMode</label> | ||
<select id="GammaMode" class="control"> | ||
<option value="-1">Disable</option> | ||
<option value="0" selected>GammaValue</option> | ||
<option value="1">sRGB(2.2)</option> | ||
<option value="2">Not Sure</option> | ||
</select> | ||
<span class="value">0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="GammaValue">GammaValue</label> | ||
<input id="GammaValue" class="control" type="number" step="0.01" min="0.07" max="20" value="1.5"> | ||
<span class="value">1.5</span> | ||
</div> | ||
<div class="item"> | ||
<label for="Contrast">Contrast</label> | ||
<input id="Contrast" class="control" type="number" step="0.01" min="0.07" max="10" value="1.7"> | ||
<span class="value">1.7</span> | ||
</div> | ||
<div class="item"> | ||
<label for="RenderWeight">RenderWeight</label> | ||
<input id="RenderWeight" class="control" type="number" step="0.01" min="0.07" max="10" value="1.4"> | ||
<span class="value">1.4</span> | ||
</div> | ||
<div class="item"> | ||
<label for="DirectWrite">DirectWrite</label> | ||
<select id="DirectWrite" class="control"> | ||
<option value="0">Disable</option> | ||
<option value="1" selected>Enable</option> | ||
</select> | ||
<span class="value">1</span> | ||
</div> | ||
<div class="item"> | ||
<label for="TextTuning">TextTuning</label> | ||
<input id="TextTuning" class="control" type="number" step="1" min="0" max="12" value="0"> | ||
<span class="value">0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="TextTuningR">TextTuningR</label> | ||
<input id="TextTuningR" class="control" type="number" step="1" min="0" max="12" value="4"> | ||
<span class="value">4</span> | ||
</div> | ||
<div class="item"> | ||
<label for="TextTuningG">TextTuningG</label> | ||
<input id="TextTuningG" class="control" type="number" step="1" min="0" max="12" value="4"> | ||
<span class="value">4</span> | ||
</div> | ||
<div class="item"> | ||
<label for="TextTuningB">TextTuningB</label> | ||
<input id="TextTuningB" class="control" type="number" step="1" min="0" max="12" value="4"> | ||
<span class="value">4</span> | ||
</div> | ||
<div class="item"> | ||
<label for="BolderMode">BolderMode</label> | ||
<select id="BolderMode" class="control"> | ||
<option value="0" selected>Auto</option> | ||
<option value="1">Horizontal</option> | ||
<option value="2">Both</option> | ||
</select> | ||
<span class="value">0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="FontLoader">FontLoader</label> | ||
<select id="FontLoader" class="control"> | ||
<option value="0" selected>Freetype</option> | ||
<option value="1">Windows</option> | ||
</select> | ||
<span class="value">0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="FontLink">FontLink</label> | ||
<select id="FontLink" class="control"> | ||
<option value="0">NoEffect</option> | ||
<option value="1">Freetype</option> | ||
<option value="2" selected>Windows</option> | ||
</select> | ||
<span class="value">2</span> | ||
</div> | ||
<div class="item"> | ||
<label for="FontSubstitutes">FontSubstitutes</label> | ||
<select id="FontSubstitutes" class="control"> | ||
<option value="0" selected>NoEffect</option> | ||
<option value="1">Safe</option> | ||
<option value="2">Complete</option> | ||
</select> | ||
<span class="value">0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="MaxHeight">MaxHeight</label> | ||
<input id="MaxHeight" class="control" type="number" step="1" min="0" max="2147483647" value="0"> | ||
<span class="value">0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="LcdFilter">LcdFilter</label> | ||
<select id="LcdFilter" class="control"> | ||
<option value="0">None</option> | ||
<option value="1">Default</option> | ||
<option value="2" selected>Light</option> | ||
<option value="3">Legacy</option> | ||
</select> | ||
<span class="value">2</span> | ||
</div> | ||
<div class="item"> | ||
<label for="LoadOnDemand">LoadOnDemand</label> | ||
<select id="LoadOnDemand" class="control"> | ||
<option value="0">Disable</option> | ||
<option value="1" selected>Enable</option> | ||
</select> | ||
<span class="value">1</span> | ||
</div> | ||
<div class="item"> | ||
<label for="CacheMaxFaces">CacheMaxFaces</label> | ||
<input id="CacheMaxFaces" class="control" type="number" step="1" min="0" max="2147483647" value="256"> | ||
<span class="value">256</span> | ||
</div> | ||
<div class="item"> | ||
<label for="CacheMaxSizes">CacheMaxSizes</label> | ||
<input id="CacheMaxSizes" class="control" type="number" step="1" min="0" max="2147483647" value="6140"> | ||
<span class="value">6140</span> | ||
</div> | ||
<div class="item"> | ||
<label for="CacheMaxBytes">CacheMaxBytes</label> | ||
<input id="CacheMaxBytes" class="control" type="number" step="1" min="0" max="2147483647" value="20485760"> | ||
<span class="value">20485760</span> | ||
</div> | ||
</fieldset> | ||
<fieldset> | ||
<legend>DirectWrite</legend> | ||
<div class="item"> | ||
<label for="DWRenderingMode">RenderingMode</label> | ||
<select id="DWRenderingMode" class="control"> | ||
<option value="0">Default</option> | ||
<option value="1">Aliased</option> | ||
<option value="2">GDI Classic</option> | ||
<option value="3">GDI Natural</option> | ||
<option value="4">Natural</option> | ||
<option value="5">Natural Symmetric</option> | ||
<option value="6" selected>Outline</option> | ||
</select> | ||
<span class="value">6</span> | ||
</div> | ||
<div class="item"> | ||
<label for="DWGammaValue">GammaValue</label> | ||
<input id="DWGammaValue" class="control" type="number" step="0.01" min="0.07" max="20" value="1.5"> | ||
<span class="value">1.5</span> | ||
</div> | ||
<div class="item"> | ||
<label for="DWContrast">Contrast</label> | ||
<input id="DWContrast" class="control" type="number" step="0.01" min="0.07" max="10" value="1.0"> | ||
<span class="value">1.0</span> | ||
</div> | ||
<div class="item"> | ||
<label for="DWClearTypeLevel">ClearTypeLevel</label> | ||
<input id="DWClearTypeLevel" class="control" type="number" step="0.01" min="0" max="1" value="1"> | ||
<span class="value">1</span> | ||
</div> | ||
</fieldset> | ||
</div> | ||
<div id="info"> | ||
|
||
</div> | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script> | ||
<script> | ||
'use strict' | ||
const message = { | ||
HookChildProcesses: '挂钩子进程\n可能与某些安全软件冲突\n无法挂钩 32 位程序的 64 位子进程', | ||
HintingMode: '字形微调\nNormal: 字体自带的 Hinting 信息\nNoHinting: 不使用 Hinting\nAutoHinting: Freetype 自动生成的 Hinting\nLight+AutoHinting: Freetype 自动生成的 Light Hinting,与 AntiAliasMode Light 选项配合使用' | ||
} | ||
let info = document.getElementById('info') | ||
for (let item of document.getElementsByClassName('item')) { | ||
let control = item.getElementsByClassName('control')[0] | ||
let value = item.getElementsByClassName('value')[0] | ||
control.onchange = () => value.innerText = control.value | ||
item.onmouseover = () => { | ||
info.style.top = item.offsetTop - 36 + 'px' | ||
info.innerText = message[control.id] || control.id | ||
} | ||
} | ||
let clipboard = new Clipboard('#copy', { | ||
text() { | ||
let ans = '' | ||
for (let section of document.getElementsByTagName('fieldset')) { | ||
let legend = section.getElementsByTagName('legend')[0].innerText | ||
ans += `[${legend}]\n` | ||
for (let item of section.getElementsByClassName('item')) { | ||
let label = item.getElementsByTagName('label')[0].innerText | ||
let value = item.getElementsByClassName('value')[0].innerText | ||
ans += `${label}=${value}\n` | ||
} | ||
} | ||
return ans | ||
} | ||
}) | ||
clipboard.on('success', e => { | ||
e.trigger.classList.add('hint--success') | ||
window.setTimeout(() => e.trigger.classList.remove('hint--success'), 800) | ||
e.clearSelection() | ||
}) | ||
</script> | ||
</body> | ||
</html> |
Binary file not shown.
Oops, something went wrong.