Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mishamyrt/Lilex
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.520
Choose a base ref
...
head repository: mishamyrt/Lilex
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Jul 19, 2024

  1. chore: update builder deps

    mishamyrt committed Jul 19, 2024
    Copy the full SHA
    77960c2 View commit details
  2. Copy the full SHA
    529a8c0 View commit details

Commits on Jul 20, 2024

  1. Copy the full SHA
    4fa1246 View commit details
  2. docs: align badges

    mishamyrt committed Jul 20, 2024
    Copy the full SHA
    f7a9710 View commit details
  3. Copy the full SHA
    37a3d0a View commit details
  4. Copy the full SHA
    8e8883b View commit details
  5. feat: add ß variants

    mishamyrt committed Jul 20, 2024
    Copy the full SHA
    ba5793a View commit details
  6. fix: improve ß alignment

    mishamyrt committed Jul 20, 2024
    Copy the full SHA
    ee60b1d View commit details
  7. Copy the full SHA
    d60db31 View commit details
  8. feat: add circles

    mishamyrt committed Jul 20, 2024
    Copy the full SHA
    82eb3cb View commit details

Commits on Jul 27, 2024

  1. Copy the full SHA
    fb33264 View commit details
  2. Copy the full SHA
    bad06f6 View commit details
  3. docs: add license info

    mishamyrt committed Jul 27, 2024
    Copy the full SHA
    9ce6e19 View commit details
  4. Copy the full SHA
    da20e75 View commit details

Commits on Jul 28, 2024

  1. Copy the full SHA
    3e8ab9a View commit details
  2. docs: add issue templates

    mishamyrt committed Jul 28, 2024
    Copy the full SHA
    d6c9dac View commit details
  3. Copy the full SHA
    ddcc004 View commit details
  4. Copy the full SHA
    0491c81 View commit details
  5. Copy the full SHA
    51cc542 View commit details
  6. docs: add code of conduct

    mishamyrt committed Jul 28, 2024
    Copy the full SHA
    ddf2bb3 View commit details
  7. docs: add security policy

    mishamyrt committed Jul 28, 2024
    Copy the full SHA
    e1a8d31 View commit details
  8. Copy the full SHA
    e899676 View commit details

Commits on Sep 25, 2024

  1. Copy the full SHA
    6ee16a8 View commit details
  2. Copy the full SHA
    933ac77 View commit details
  3. Copy the full SHA
    c1f090b View commit details
  4. Copy the full SHA
    6336004 View commit details
  5. Copy the full SHA
    821d445 View commit details
  6. ci: add italic reporter

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    19f7b64 View commit details
  7. feat: add some ligatures

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    6c8e5ac View commit details
  8. fix: update italic metrics

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    2068965 View commit details
  9. chore: fix names

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    1d9d3c9 View commit details
  10. feat: add yus

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    1d30be3 View commit details
  11. feat: add replacement glyph

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    0c10cd4 View commit details
  12. feat: add cedi glyph

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    b9bc2a5 View commit details
  13. feat: sync glyph set

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    2d9e91b View commit details
  14. chore: regenerate features

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    fca045b View commit details
  15. ci: add build before report

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    dedfda5 View commit details
  16. Copy the full SHA
    67f1d28 View commit details
  17. ci: publish download url

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    2b18bab View commit details
  18. chore: use parallel build

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    916b964 View commit details
  19. chore: clean up

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    44c3826 View commit details
  20. chore: add porting filter

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    d4de835 View commit details
  21. Copy the full SHA
    85357ab View commit details
  22. Copy the full SHA
    338d72c View commit details
  23. chore: sort glyph groups

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    b684cb1 View commit details
  24. Copy the full SHA
    165885e View commit details
  25. Copy the full SHA
    eeaa3e0 View commit details
  26. Copy the full SHA
    5e99bfe View commit details
  27. Copy the full SHA
    fc67647 View commit details
  28. feat: add bgr forms

    mishamyrt committed Sep 25, 2024
    Copy the full SHA
    34f3d6a View commit details
Showing with 162,405 additions and 3,261 deletions.
  1. +55 −0 .github/ISSUE_TEMPLATE/bug_report.yaml
  2. +34 −0 .github/ISSUE_TEMPLATE/feature_request.md
  3. +17 −0 .github/PULL_REQUEST_TEMPLATE.md
  4. +15 −0 .github/workflows/build.yaml
  5. 0 .github/workflows/{preview-master.yaml → preview_master.yaml}
  6. 0 .github/workflows/{preview-pr.yaml → preview_pr.yaml}
  7. +4 −1 .github/workflows/release.yaml
  8. +2 −2 .gitignore
  9. +29 −0 CHANGELOG.md
  10. +1 −0 CODE_OF_CONDUCT.md
  11. +90 −0 CONTRIBUTING.md
  12. +15 −25 Makefile
  13. +4 −4 LICENSE → OFL.txt
  14. +27 −64 README.md
  15. +24 −0 SECURITY.md
  16. BIN fonts/ttf/Lilex-Bold.ttf
  17. BIN fonts/ttf/Lilex-BoldItalic.ttf
  18. BIN fonts/ttf/Lilex-ExtraLight.ttf
  19. BIN fonts/ttf/Lilex-ExtraLightItalic.ttf
  20. BIN fonts/ttf/Lilex-Italic.ttf
  21. BIN fonts/ttf/Lilex-Medium.ttf
  22. BIN fonts/ttf/Lilex-MediumItalic.ttf
  23. BIN fonts/ttf/Lilex-Regular.ttf
  24. BIN fonts/ttf/Lilex-Thin.ttf
  25. BIN fonts/ttf/Lilex-ThinItalic.ttf
  26. BIN fonts/variable/Lilex-Italic[wght].ttf
  27. BIN fonts/variable/Lilex[wght].ttf
  28. BIN images/alternatives@2x.png
  29. BIN images/italics@2x.png
  30. +8 −1 preview/src/app.css
  31. +16 −45 preview/src/blocks/GlyphsTable/GlyphsTable.svelte
  32. +60 −0 preview/src/blocks/GlyphsTable/fonts.ts
  33. +7 −4 preview/src/blocks/TypeTester/TypeTester.svelte
  34. +5 −2 preview/src/components/FeatureSelector/FeatureSelector.svelte
  35. +3 −0 preview/src/components/FontPreview/FontPreview.svelte
  36. +61 −0 preview/src/components/SegmentSelect/SegmentSelect.svelte
  37. +2 −0 preview/src/components/SegmentSelect/index.ts
  38. +1 −0 preview/src/components/index.ts
  39. +3 −3 pyproject.toml
  40. +6 −6 requirements.txt
  41. +0 −3 scripts/builder/__init__.py
  42. +0 −86 scripts/builder/make.py
  43. +0 −107 scripts/find.py
  44. +114 −0 scripts/font.py
  45. +0 −3 scripts/generator/__init__.py
  46. +9 −0 scripts/liblilex/__init__.py
  47. +3 −0 scripts/liblilex/build/__init__.py
  48. +68 −0 scripts/liblilex/build/build.py
  49. +9 −0 scripts/liblilex/build/constants.py
  50. +45 −0 scripts/liblilex/build/fontmake.py
  51. +14 −0 scripts/liblilex/build/path.py
  52. +66 −0 scripts/liblilex/build/post_process.py
  53. +7 −0 scripts/liblilex/features/__init__.py
  54. 0 scripts/{generator → liblilex/features}/const.py
  55. +94 −0 scripts/liblilex/features/features_loader.py
  56. 0 scripts/{generator → liblilex/features}/ligatures.py
  57. +27 −0 scripts/liblilex/features/mappers.py
  58. 0 scripts/{builder → liblilex/features}/name.py
  59. +2 −0 scripts/{generator → liblilex/features}/spacers.py
  60. +1 −13 scripts/{builder/const.py → liblilex/features/tpl.py}
  61. +19 −36 scripts/{builder/font.py → liblilex/glyphs_font.py}
  62. +0 −102 scripts/lilex.py
  63. +110 −0 scripts/normalize_names.py
  64. +122 −0 scripts/porting.py
  65. +0 −1 scripts/utils/__init__.py
  66. +0 −49 scripts/utils/files.py
  67. +156,234 −0 sources/Lilex-Italic.glyphs
  68. +4,919 −2,660 sources/Lilex.glyphs
  69. +17 −18 sources/STAT.yaml
  70. +0 −1 sources/classes/acc_comb_bottom.cls
  71. +0 −1 sources/classes/acc_comb_top.cls
  72. +0 −1 sources/classes/lca_alt1.fea
  73. +0 −1 sources/classes/lca_dflt.fea
  74. +5 −0 sources/family_config.yaml
  75. +1 −0 sources/features/_classes/acc_comb_bottom.cls
  76. +1 −1 sources/{classes → features/_classes}/acc_comb_case.cls
  77. +1 −1 sources/{classes → features/_classes}/acc_comb_dflt.cls
  78. +1 −0 sources/features/_classes/acc_comb_top.cls
  79. +1 −0 sources/features/_classes/lca_alt1.fea
  80. 0 sources/{classes → features/_classes}/lca_cyrl_alt1.fea
  81. 0 sources/{classes → features/_classes}/lca_cyrl_dflt.fea
  82. +1 −0 sources/features/_classes/lca_dflt.fea
  83. 0 sources/{classes → features/_classes}/lcg_alt1.fea
  84. 0 sources/{classes → features/_classes}/lcg_dflt.fea
  85. 0 sources/{classes → features/_classes}/numbers_dflt.fea
  86. 0 sources/{classes → features/_classes}/numbers_dnom.fea
  87. 0 sources/{classes → features/_classes}/numbers_hex.fea
  88. 0 sources/{classes → features/_classes}/numbers_numr.fea
  89. 0 sources/{classes → features/_classes}/numbers_onum.fea
  90. 0 sources/{classes → features/_classes}/numbers_sinf.fea
  91. 0 sources/{classes → features/_classes}/numbers_sups.fea
  92. 0 sources/{classes → features/_classes}/uc_basic.cls
  93. +2 −0 sources/features/aalt.fea
  94. +1 −1 sources/features/case.fea
  95. +6 −6 sources/features/ccmp.fea
  96. +2 −2 sources/features/cv05.fea
  97. +2 −2 sources/features/cv07.fea
  98. +3 −0 sources/features/cv12.fea
  99. +4 −4 sources/features/frac.fea
  100. +5 −5 sources/features/mark.fea
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: "Bug report 🐛"
description: Report rendering issues or unexpected behavior
body:
- type: markdown
attributes:
value: |
Please make sure to [search for existing issues](https://github.com/mishamyrt/Lilex/issues) before filing a new one!
- type: input
id: version
attributes:
label: Lilex font version
placeholder: "2.530, 2.500"
validations:
required: true

- type: dropdown
id: format
attributes:
label: Font file format(s)
multiple: true
options:
- .ttf (variable)
- .ttf (static)
- I don't know
validations:
required: true

- type: input
id: platform
attributes:
label: Platform
placeholder: "macOS 14.5; Linux (freetype 2.13.2); Windows 11"
validations:
required: true

- type: textarea
id: software
attributes:
label: Other Software
description: If you're reporting a bug about Lilex's interaction with other software, what software? What versions?
placeholder: |
iTerm2
VS Code
Windows Terminal
validations:
required: false

- type: textarea
id: what-happened
attributes:
label: What happened?
placeholder: Tell what's happening. Include some screenshots! Does it happen only at a certain font size or a certain pixel density?
validations:
required: true
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Feature Request/Idea 🚀
about: Suggest a new feature or improvement (this does not mean you have to implement it)
title: "Feature Request"
labels: enhancement
assignees: ''

---

<!--
🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING:
1. If I delete this entire template and go my own path, maintainers may close my issue without further explanation or engagement.
2. If I list multiple bugs/concerns in this one issue, maintainers may close my issue without further explanation or engagement.
3. If I write an issue that has many duplicates, maintainers may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number).
4. If I leave the title incomplete when filing the issue, maintainers may close my issue without further explanation or engagement.
5. If I file something completely blank in the body, maintainers may close my issue without further explanation or engagement.
All good? Then proceed!
-->

# Description of the new feature/enhancement (with images if possible)

<!--
A clear and concise description of what the problem is that the new feature would solve.
Describe why and how a user would use this new functionality (if applicable).
-->

# Proposed technical implementation details (optional)

<!--
A clear and concise description of what you want to happen.
-->
17 changes: 17 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- Enter a brief description/summary of your PR here. What character(s) are you changing/creating and how was it tested (even manually, if necessary)? Did you hint the entire font or only the modified character(s)? -->
## Summary of the Pull Request

<!-- Other than the issue solved, is this relevant to any other issues/existing PRs? -->
## References

<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
* [ ] Closes #xxx
* [ ] Requires CHANGELOG.md to be updated
* [ ] Requires [/images/](/mishamyrt/Lilex/images/) to be updated

<!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments

<!-- Provide images of the character(s) that are being modified/created at different screen sizes. Clearly identifying specific code points is heavily recommended. -->
## Before (if applicable) and After Images of the Character(s)
15 changes: 15 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
on:
workflow_call:
inputs:
download_url:
default: false
type: boolean
check:
default: false
type: boolean
@@ -56,6 +59,7 @@ jobs:
run: make build-preview

- name: Upload build
id: build-upload-step
uses: actions/upload-artifact@v4
with:
name: Lilex
@@ -74,3 +78,14 @@ jobs:
with:
name: Preview
path: preview/dist

- name: Output download URL
if: inputs.download_url
run: echo "${{ steps.build-upload-step.outputs.artifact-url }}" > download_url.txt

- name: Upload URL
if: inputs.download_url
uses: actions/upload-artifact@v4
with:
name: URL
path: download_url.txt
File renamed without changes.
File renamed without changes.
5 changes: 4 additions & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -48,7 +48,9 @@ jobs:
- name: Generate sources with new version
run: |
. venv/bin/activate
python scripts/lilex.py generate --version "${{ inputs.version }}"
python scripts/font.py --config "sources/family_config.yaml" \
generate --version \
"${{ inputs.version }}"
python scripts/changelog.py notes Next > notes.md
python scripts/changelog.py release "${{ inputs.version }}"
@@ -60,6 +62,7 @@ jobs:
- name: Create git commit and tag
run: |
git add sources/Lilex.glyphs
git add sources/Lilex-Italic.glyphs
git add CHANGELOG.md
git add fonts
git status
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -2,8 +2,8 @@
/build/
/venv/
/.vscode
/Lilex (Autosaved).glyphs
* (Autosaved).glyphs
*.glyphspackage
__pycache__
.ruff_cache
reports/
bundle/
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
# Changelog
All notable changes to this project will be documented in this file.

## [2.600] — September 25, 2024

### Added

* Italic variant.
* Cyrillic yus (`ѫ`, `Ѫ`).
* Spaces. (enspace, emspace, enquad, emquad, threeperemspace, fourperemspace, sixperemspace, figurespace, thinspace, mediumspace-math)
* Replacement glyph. (``)
* Cedi glyph. (``)
* Guarani glyph. (``)

### Fixed

* Bar-hyphen alignment. (`||-`)

## [2.530] — July 27, 2024

### Added

* Circles. (``, `○◯`, `◐◑◒◓`, `◖◗`, ``, `◜◝◟◞`)

### Changed

* Replaced the `ß` glyph, the previous version is available under the `cv12` variant.

## [2.520] — July 19, 2024

### Fixed
@@ -219,3 +244,7 @@ IBM Plex Mono version: 3.000
[2.510]: https://github.com/mishamyrt/Lilex/releases/tag/2.510

[2.520]: https://github.com/mishamyrt/Lilex/releases/tag/2.520

[2.530]: https://github.com/mishamyrt/Lilex/releases/tag/2.530

[2.600]: https://github.com/mishamyrt/Lilex/releases/tag/2.600
1 change: 1 addition & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Be awesome for each other
90 changes: 90 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Contributing to Lilex

Thank you for your interest in improving Lilex.

## Contribute an issue

In most cases, submitting an issue is the first step to contributing to Lilex. Check existing issues and see if your issue has not already been described. Then use one of the templates to ask a question, report an issue or suggest an improvement.

## Pull Request

Here are the basic requirements to consider when requesting a pull request:

- Make sure your PR does not duplicate another PR
- The request is directed to the correct branch
- All changes have been checked, nothing unnecessary has been added to the PR.
- Affected issues and linked PRs are linked
- Commits are named according to the rules

## Project repository usage

All of the active development work for the next release will take place in the `master` branch.

Here is how to contribute back some code, documentation or design:

- Fork repo
- Create a feature branch off of the `master` branch
- Make some useful change
- Lint code with `make lint`
- Make sure the fonts tests still pass with `make build && make check`
- Submit a pull request against the dev branch.
- Be kind

Please rebase (not merge) from the `master` branch if your PR needs to incorporate changes that occurred after your feature branch was created.

## Build

### Setup

At the moment building is possible on Ubuntu and macOS. First, install the system dependencies.

#### macOS

```sh
brew install cairo freetype harfbuzz pkg-config
```

#### Ubuntu

```sh
sudo apt install python3-setuptools ttfautohint build-essential libffi-dev libgit2-dev
```

#### Common

Clone the repository and navigate to the project folder:

```
git clone https://github.com/mishamyrt/Lilex
cd Lilex
```

And then setup python virtual environment:

```sh
make configure
```

### Compile

Now run the command to build Lilex.

```sh
make build
```

or

```sh
./scripts/font.py build
```

### Forced feature activation

The builder gives you the ability to forcibly enable any font features. This works by moving their code to the calt. If the ligatures work, the selected features will also work.

To do this, build the binaries from the source file with the features:

```sh
./scripts/font.py --features 'ss01,zero' build
```
40 changes: 15 additions & 25 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
# Project paths
# BUNDLE_DIR = bundle
BUILD_DIR = build
REPORTS_DIR = reports
SCRIPTS_DIR = scripts
GLYPHS_FILE = sources/Lilex.glyphs
# Project directories
BUILD_DIR := build
REPORTS_DIR := reports
SCRIPTS_DIR := scripts
SOURCES_DIR := sources

# Font sources
LILEX_ROMAN_SOURCE = $(SOURCES_DIR)/Lilex.glyphs
LILEX_ITALIC_SOURCE = $(SOURCES_DIR)/Lilex-Italic.glyphs

# Internal build variables
OS := $(shell uname)
VENV_DIR = ./venv
VENV = . $(VENV_DIR)/bin/activate;

define build-font
@$(VENV) python $(SCRIPTS_DIR)/lilex.py build $(1)
@$(VENV) python $(SCRIPTS_DIR)/font.py \
build $(1)
endef

define check-font
@@ -70,7 +74,7 @@ check-sequential: clean-reports ## check each font file quality

.PHONY: lint
lint: ## check code quality
$(VENV) ruff $(SCRIPTS_DIR)/
$(VENV) ruff check $(SCRIPTS_DIR)/
$(VENV) pylint $(SCRIPTS_DIR)/
cd preview; pnpm eslint 'src/**/*.{svlete,ts}'

@@ -80,7 +84,9 @@ preview: ## show CLI special symbols preview

.PHONY: generate
generate: ## regenerate the font sources with classes and features
@$(VENV) python $(SCRIPTS_DIR)/lilex.py generate
@$(VENV) python $(SCRIPTS_DIR)/font.py \
--config "sources/family_config.yaml" \
generate

.PHONY: build
build: ## build the font
@@ -95,22 +101,6 @@ build-preview: ## build the preview
run-preview: ## run the preview
cd preview; pnpm run dev

# .PHONY: pack-bundle
# pack-bundle: ## pack the bundle
# rm -rf "$(BUNDLE_DIR)"
# mkdir "$(BUNDLE_DIR)"
# # Copy fonts
# cp -r "$(BUILD_DIR)/"* "$(BUNDLE_DIR)/"
# # Copy reports
# cp "$(REPORTS_DIR)/"* "$(BUNDLE_DIR)/"
# cd "$(BUNDLE_DIR)"; zip -r Lilex.zip ./*

# .PHONY: bundle
# bundle: ## build the bundle
# @make build
# @make check
# @make pack-bundle

.PHONY: release
release:
@make build
Loading