Caskaydia Cove is a fork of the Cascadia Code typeface with the RFN (Reserved Font Name) removed, plus small adjustments to conform to the Google Fonts spec. The name comes from the Nerds Fonts project, which uses “Caskaydia Cove” for its patched version of Casdadia Code. The RFN prevents distributing modified versions of fonts under the names used by their upstream maintainers, so if you are looking for something like Cascadia Code that can be modified for inclusion in various font collections without a name change, this repository might be what you are looking for.
This fork is maintained by a Washingtonian working from the Pacific Northwest and is licensed under the SIL Open Font License Version 1.1. Please see the OFL-FAQ.txt file if you have any legal questions.
The Cascadia Code upstream project is designed by Aaron Bell and developed by the Windows Terminal team. If you want to know more about the Windows Terminal project, please see the Windows Command Line developer blog, or listen to this podcast interview about the subject. Thanks for the great work making command-line workflows more beautiful and accesible, Aaron and Microsoft!
Below is a demo of the variable font version of typeface, Python (DrawBot) source code for this animation is here: documentation/animations/variable-font-specimen.py
Python (DrawBot) source code for this text specimen is here: documentation/images/text-specimen.py
And a usage example with iTerm2 and bat.
The Caskaydia Cove variable font has a weight (wght) axis:
Axis | Tag | Range | Default |
---|---|---|---|
Weight | wght |
200 to 700 | 400 |
Caskaydia Cove has the following static weights:
Font | Weight | Axis Location |
---|---|---|
CaskaydiaCove-ExtraLight.ttf | Extra Light | 200 |
CaskaydiaCove-Light.ttf | Light | 300 |
CaskaydiaCove-Regular.ttf | Regular | 400 |
CaskaydiaCove-Medium.ttf | Medium | 500 |
CaskaydiaCove-SemiBold.ttf | Semi Bold | 600 |
CaskaydiaCove-Bold.ttf | Bold | 700 |
Pull requests and new issues are welcome.
Build scripts and UFO source files are in the sources directory.
To build new fonts, open a Unix-like terminal (Linux, MacOS, WSL) in the root directory of this reporitory(where this readme is located). First make sure you have Python3 installed, then install the build scripts Python dependencies in a virtual enviroment.
which python3
python3 -m venv venv
source venv/bin/activate
which python3
pip install --upgrade pip
pip install --requirement requirements.txt
Then, run the buildscript from the root directory.
sh build.sh
If you are making a pull request to Google Fonts, add the -gf
flag and files will be moved to ~/Google/fonts/ofl/..
after building.
sh build.sh -gf
Fontbakery version: 0.7.29
[1] Family checks
⚠ WARN: Is the command `ftxvalidator` (Apple Font Tool Suite) available?
--- Rationale --- There's no reasonable (and legal) way to run the command `ftxvalidator` of the Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc. If Font Bakery is not running on an OSX machine, the machine running Font Bakery could access `ftxvalidator` on OSX, e.g. via ssh or a remote procedure call (rpc). There's an ssh example implementation at: https://github.com/googlefonts/fontbakery/blob/master/prebuilt/workarounds /ftxvalidator/ssh-implementation/ftxvalidator
- ⚠ WARN Could not find ftxvalidator.
[6] CaskaydiaCove[wght].ttf
⚠ WARN: Check copyright namerecords match license file.
--- Rationale --- A known licensing description must be provided in the NameID 14 (LICENSE DESCRIPTION) entries of the name table. The source of truth for this check (to determine which license is in use) is a file placed side-by-side to your font project including the licensing terms. Depending on the chosen license, one of the following string snippets is expected to be found on the NameID 13 (LICENSE DESCRIPTION) entries of the name table: - "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL" - "Licensed under the Apache License, Version 2.0" - "Licensed under the Ubuntu Font Licence 1.0." Currently accepted licenses are Apache or Open Font License. For a small set of legacy families the Ubuntu Font License may be acceptable as well. When in doubt, please choose OFL for new font projects.
- ⚠ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]
- ⚠ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]
⚠ WARN: License URL matches License text on name table?
--- Rationale --- A known license URL must be provided in the NameID 14 (LICENSE INFO URL) entry of the name table. The source of truth for this check is the licensing text found on the NameID 13 entry (LICENSE DESCRIPTION). The string snippets used for detecting licensing terms are: - "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL" - "Licensed under the Apache License, Version 2.0" - "Licensed under the Ubuntu Font Licence 1.0." Currently accepted licenses are Apache or Open Font License. For a small set of legacy families the Ubuntu Font License may be acceptable as well. When in doubt, please choose OFL for new font projects.
- ⚠ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]
- ⚠ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]
- ⚠ WARN Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description]
- ⚠ WARN For now we're still accepting http URLs, but you should consider using https instead. [code: http]
⚠ WARN: METADATA.pb: Fontfamily is listed on Google Fonts API?
-
⚠ WARN Family not found via Google Fonts API. [code: not-found]
⚠ WARN: Glyph names are all valid?
--- Rationale --- Microsoft's recommendations for OpenType Fonts states the following: 'NOTE: The PostScript glyph name must be no longer than 31 characters, include only uppercase or lowercase English letters, European digits, the period or the underscore, i.e. from the set [A-Za-z0-9_.] and should start with a letter, except the special glyph name ".notdef" which starts with a period.' https://docs.microsoft.com/en-us/typography/opentype/spec/recom#post-table In practice, though, particularly in modern environments, glyph names can be as long as 63 characters. According to the "Adobe Glyph List Specification" available at: https://github.com/adobe-type-tools/agl-specification
- ⚠ WARN The following glyph names may be too long for some legacy systems which may expect a maximum 31-char length limit: numbersign_underscore_parenleft.liga, asciitilde_asciitilde_greater.liga and less_dollar_greater.liga.BRACKET.600 [code: legacy-long-names]
⚠ WARN: Checking correctness of monospaced metadata.
--- Rationale --- There are various metadata in the OpenType spec to specify if a font is monospaced or not. If the font is not truly monospaced, then no monospaced metadata should be set (as sometimes they mistakenly are...) Requirements for monospace fonts: * post.isFixedPitch - "Set to 0 if the font is proportionally spaced, non-zero if the font is not proportionally spaced (monospaced)" www.microsoft.com/typography/otspec/post.htm * hhea.advanceWidthMax must be correct, meaning no glyph's width value is greater. www.microsoft.com/typography/otspec/hhea.htm * OS/2.panose.bProportion must be set to 9 (monospace). Spec says: "The PANOSE definition contains ten digits each of which currently describes up to sixteen variations. Windows uses bFamilyType, bSerifStyle and bProportion in the font mapper to determine family type. It also uses bProportion to determine if the font is monospaced." www.microsoft.com/typography/otspec/os2.htm#pan monotypecom-test.monotype.de/services/pan2 * OS/2.xAvgCharWidth must be set accurately. "OS/2.xAvgCharWidth is used when rendering monospaced fonts, at least by Windows GDI" http://typedrawers.com/discussion/comment/15397/#Comment_15397 Also we should report an error for glyphs not of average width. Please also note: Thomas Phinney told us that a few years ago (as of December 2019), if you gave a font a monospace flag in Panose, Microsoft Word would ignore the actual advance widths and treat it as monospaced. Source: https://typedrawers.com/discussion/comment/45140/#Comment_45140
- ⚠ WARN Font is monospaced but 38 glyphs (2.3413431916204557%) have a different width. You should check the widths of: ['uni0308', 'uni0307', 'gravecomb', 'acutecomb', 'uni030B', 'uni0302', 'uni030C', 'uni0306', 'uni030A', 'tildecomb', 'uni0304', 'hookabovecomb', 'uni0312', 'uni031B', 'dotbelowcomb', 'uni0326', 'uni0327', 'uni0328', 'uni0340', 'uni0341', 'uni0308.case', 'uni0307.case', 'gravecomb.case', 'acutecomb.case', 'uni030B.case', 'uni0302.case', 'uni030C.case', 'uni0306.case', 'uni030A.case', 'tildecomb.case', 'uni0304.case', 'hookabovecomb.case', 'uni031B.case', 'acutecomb.loclPLK', 'acutecomb.case.loclPLK', 'uni0342', 'brevecombcy', 'brevecombcy.case'] [code: mono-outliers]
⚠ WARN: Does GPOS table have kerning information?
-
⚠ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
💔 ERROR | 🔥 FAIL | ⚠ WARN | 💤 SKIP | ℹ INFO | 🍞 PASS | 🔎 DEBUG |
---|---|---|---|---|---|---|
0 | 0 | 7 | 38 | 9 | 123 | 0 |
0% | 0% | 4% | 21% | 5% | 69% | 0% |
The Caskaydia Cove project is licensed under the SIL Open Font License v1.1. This is a libre software license that permits you to use the font software under a set of conditions. Please refer to the full text of the license for details about the permissions, conditions, and disclaimers.