googlefonts/Inconsolata hiện có 1.6k sao trên GitHub, viết chủ yếu bằng Rust. Development repo of Inconsolata Fonts by Raph Levien
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Open-source monospace font for code listings, originally by @raphlinus
Ligatures
Inconsolata includes ligatures for a few JavaScript operators:
They are available in two families.
"Inconsolata" exposes the ligatures as dlig. These are disabled by default, and probably won't show up in your editor. You can enable them in CSS with this rule:
font-variant-ligatures: discretionary-ligatures;
"Ligconsolata" exposes the ligatures as liga. These are enabled by default. This is the family you should use in your text editor.
Note: the Ligconsolata variant has not yet been upgraded to version 3.000, as we're prioritizing the non-ligature variants.
Building the family
Family is built using Glyphs, fontmake and gftools post processing script. Tools are all python based.
To install all the Python tools into a virtualenv, do the following:
Minor design improvements (trademark corner spurs)
Further reading: Inconsolata expansion project thread on Google Fonts Discussions
Supported glyphs sets:
GF Latin Pro
License
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
Inconsolata Build Instructions
Inconsolata fonts can be built using either export from Glyphs or using fontmake. The font files committed to this repo are done using fontmake.
Source Files
Inconsolata source files are available in .glyphs format located in the /sources directory.
Adding ligatures
Follow the "Creating the ligature" section of the Glyphs ligatures tutorial.
Name your new glyph with the suffix .dlig, for instance bar_greater.dlig.
Open the Font Info panel.
Switch to the Features tab.
Click dlig in the sidebar.
Click the Update button at the bottom of the panel.
Switch to the Instances tab.
Update the Rename Glyphs value for "Ligconsolata Regular" to include a new line for your new glyph, for instance:
bar_greater.dlig=bar_greater.liga
Update the Rename Glyphs value for "Ligconsolata Bold".
Export the font, as explained below.
Exporting a variable font using fontmake
It's possible to export the project as a single variable font. It's just a bit tricky, because the font uses components with varying 2x2 components, triggering a bug which is present in both fontmake and Glyphs export. Thus, there's an inco_fix.py script in the sources directory that detects this case and decomposes just those components. Run that script before exporting. The script also decomposes corner components, which makes the resulting glyphs file suitable for fontmake export as well (fontmake currently has no support for corner components).
You can copy the script into the Scripts folder for Glyphs, which will make it available in the Script menu, or you can just copy it into the Macro Panel.
After running the script, the following fontmake invocation will generate a variable font:
This is the version in the fonts/ directory, as it is slightly smaller than the version generated by Glyphs.
We do not check the result of the inco_fix script into version control, as we want to preserve editability. It's entirely possible that a future version of fontmake (or Glyphs itself) will be able to handle the source file without running a script.
Exporting instances using fontmake
The source file contains 15 instances, including all weights of the normal (100) width, and also all masters. This is a reasonable complement for working on the font. Run the gen_instances.py script to generate a total of 72 instances; all combinations of the weights from 200 to 900, and widths 50, 70, 80, 90, 110, 120, 150, and 200.
There are two other instances for Ligconsolata, and fontmake will attempt to generate those, but the "Rename Glyphs" custom parameter doesn't seem to be respected by fontmake, so these won't have ligatures enabled. Use the Glyphs export instead (detailed below).
fontmake -g sources/Inconsolata-vf.glyphs -i -o ttf -a
These are the versions in the fonts/ directory.
Font Export options (from Glyphs)
This is the preferred way to generate the Ligconsolata instances, but
TTF and OTF files should be exported into /fonts/ttf and /fonts/otf folders.
TTFs should be generated from Glyphs App with Autohint option checked. At the moment there is no custom build script required to produce font files, since default TTFautohinting options suffice.
OTFs should be generated with these options:
Remove Overlap
Autohint
Save as TTF
Export destination: $REPO_PATH/fonts/otf
Future work
In addition, we want to export a subset not including Vietnamese script coverage, to avoid over-large line spacing on older applications (such as terminals and text editors) that don't understand the "use typo metrics" flag (see https://github.com/googlefonts/Inconsolata/issues/35).
Glyphstool
The repository also contains some Rust code to manipulate Glyphs format masters, in the glyphstool subdirectory. This was used to apply global transforms (mostly as a starting point for the width work). Perhaps the most valuable aspect is that it contains a fairly complete set of line and box drawing primitives, inspired by [Source Code Pro] but with actually variable weight and width. It's not particularly polished or well documented, but is provided for completeness, and it's possible that it could be adapted to future tools that work with font data in the Glyphs format. The code is licensed under Apache 2.0 or MIT, in keeping with the Rust tradition.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/googlefonts/Inconsolata là nguồn chính thức.
googlefonts/Inconsolata có bao nhiêu sao?
googlefonts/Inconsolata có 1.6k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/googlefonts/Inconsolata. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
googlefonts/Inconsolata có phải mã nguồn mở không?
Có — googlefonts/Inconsolata phát hành theo license OFL-1.1, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/googlefonts/Inconsolata.
googlefonts/Inconsolata còn đang phát triển không?
Commit gần nhất trên googlefonts/Inconsolata là 2 tháng trước (theo timestamp GitHub). Repo có 71 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
googlefonts/Inconsolata dùng license gì?
googlefonts/Inconsolata phát hành theo license OFL-1.1. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
googlefonts/Inconsolata là gì?
googlefonts/Inconsolata (googlefonts/Inconsolata) là dự án Rust trên GitHub. Theo mô tả gốc: Development repo of Inconsolata Fonts by Raph Levien
googlefonts/Inconsolata viết bằng ngôn ngữ gì?
googlefonts/Inconsolata chủ yếu viết bằng Rust. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
Inconsolata có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về Inconsolata.