测试代码
这是一个 Java 文件
import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.ThreadLocalRandom; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.IntStream; public class FontTester implements Serializable { private static final long serialVersionUID = 1L; private static final String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; private static final int MAX_DEPTH = 100; public static void main(String[] args) { System.out.println("Starting Font Rendering Test..."); try { performCalculations(); String illusion = checkCharacterDistinction("0O1lI|!:"); System.out.println(illusion); processStreamData(Arrays.asList("Alpha", "Beta", "Gamma", "Delta")); MatrixProcessor matrix = new MatrixProcessor(5, 5); matrix.fillDiagonal(1.0); if (matrix.isValid() && illusion != null) { System.out.println("Test Complete."); } } catch (Exception e) { e.printStackTrace(); } } private static void performCalculations() { int x = 42; int y = 100; double pi = 3.14159265359; boolean isEqual = (x == y); boolean isNotEqual = (x != y); boolean isLessOrEqual = (x <= y); boolean isGreaterOrEqual = (x >= y); int bitwiseCheck = (x << 2) | (y >> 1) & 0xFF; int unsignedShift = y >>> 2; if (isNotEqual && (x < y || y > 0)) { x += 10; x++; --y; } else { x -= 5; } String formatted = String.format("Result: %d, %b", x, isLessOrEqual); } private static String checkCharacterDistinction(String input) { StringBuilder builder = new StringBuilder(); for (char c : input.toCharArray()) { if (Character.isDigit(c)) { builder.append("[DIGIT:").append(c).append("]"); } else { builder.append("{CHAR:").append(c).append("}"); } } return builder.toString(); } private static void processStreamData(List<String> inputs) { Map<Integer, String> resultMap = inputs.stream() .filter(s -> s.length() >= 4) .map(String::toUpperCase) .collect(Collectors.toMap( String::length, Function.identity(), (existing, replacement) -> existing + "|" + replacement )); resultMap.forEach((k, v) -> { System.out.printf("Key: %d -> Value: %s%n", k, v); }); Runnable lambdaTest = () -> { IntStream.range(0, 10).filter(i -> i % 2 == 0).forEach(System.out::print); }; lambdaTest.run(); } private enum OperationMode { FAST, SAFE, RELIABLE, DEPRECATED } private static class MatrixProcessor { private final double[][] data; private final int rows; private final int cols; public MatrixProcessor(int rows, int cols) { this.rows = rows; this.cols = cols; this.data = new double[rows][cols]; } public void fillDiagonal(double value) { for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { if (i == j) { data[i][j] = value; } else { data[i][j] = 0.0; } } } } public boolean isValid() { return rows > 0 && cols > 0 && data != null; } } public <T extends Number> double genericCalculation(T input) { if (input == null) return 0.0; return input.doubleValue() * ThreadLocalRandom.current().nextDouble(); } }Fira Code
开发者:Nikita Prokopov(俄罗斯开发者)
基于 Mozilla 的 Fira Mono 字体扩展,添加编程连字特性
连字功能(Ligatures)是它最大的卖点
下载
https://github.com/tonsky/FiraCode/releases
推荐全部安装,最方便,反正不占多少空间
效果
JetBrains Mono
开发者:JetBrains
下载
https://www.jetbrains.com/zh-cn/lp/mono/
带不带 NL 的区别
- JetBrainsMono-xxxx.ttf (标准版)
这是“完全体”,包含了连字功能 (Ligatures)
当你输入 != => === 时,它会变成漂亮的数学符号
- JetBrainsMonoNL-xxxx.ttf (无连字版)
NL = No Ligatures
这个版本没有连字功能,如果你输入 !=,它就显示两个分开的字符 ! 和 =
可以全选安装,这样最方便,然后去设置里把 NL 家族卸载
效果
Cascadia Code
开发者:Microsoft
下载
https://github.com/microsoft/cascadia-code/releases
- Code vs Mono(连字)
Code (CascadiaCode...):有连字。输入 != 会变成 ≠。推荐
Mono (CascadiaMono...):无连字。输入 != 还是 !=。如果讨厌连字选这个
- 后缀 NF vs PL vs 无后缀(图标数量)
NF (...NF.ttf):Nerd Fonts 版本(最强)。它不仅包含了 Powerline 符号,还塞进了几千个开发图标(比如 Python 小蛇、Docker 鲸鱼、React 图标等)
PL (...PL.ttf):Powerline 版本。只包含基础的终端箭头符号,图标比 NF 少得多
无后缀 (CascadiaCode.ttf):标准版。虽然现在标准版也带一些符号,但不如 NF 版全
- Italic(斜体)
这是配套的斜体文件
推荐安装【CascadiaCodeNF.ttf】和【CascadiaCodeNFItalic.ttf】
效果
Source Code Pro
开发者:Adobe
下载
https://github.com/adobe-fonts/source-code-pro/releases
推荐全部安装
效果
Monaspace
开发者:GitHub
下载
https://github.com/githubnext/monaspace/releases
推荐选择【monaspace-nerdfonts】
这个版本已经集成了 Nerd Fonts 图标库
推荐选择【Neon】
Argon:人文风格
Neon:现代风格
Krypton:机械风格
Radon:手写风格
Xenon:衬线风格
安装全部的 ttf 文件
效果
Consolas
也是微软的
Consolas 是经典老将,2006 年发布
Cascadia Code 是现代新星,2019 年发布
下载
Consolas 是 Windows 的系统自带字体,不需要下载
效果
网盘
我把所有下载的字体放到网盘了
『来自123云盘用户小雪HuaHua的分享』编程字体
链接:https://www.123865.com/s/lwJvjv-jRTgd