60 Commits

Author SHA1 Message Date
Laurenz
3330767c20 Remove props in favor of using state for everything 2021-06-11 11:30:18 +02:00
Martin Haug
c28708aa19 Text decorations 2021-06-10 23:15:51 +02:00
Laurenz
7218892c72 Refactor path handling 2021-06-01 12:55:07 +02:00
Laurenz
0bfee5b777 Refactored loading and cache architecture 2021-05-28 12:46:43 +02:00
Martin Haug
e27f6c1014 Add hash impls for all nodes
This prepares the incremental PR.

Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-05-26 22:57:29 +02:00
Laurenz
33733fd1ef Expose units_per_em and raw face id 2021-05-13 11:26:51 +02:00
Laurenz
3e03667c37 Make file system loader serializable 📚 2021-05-05 22:18:33 +02:00
Laurenz
6292d25afb Reengineer font and resource loading 🏞 2021-04-23 17:46:14 +02:00
Laurenz
464a6ff75e Deduplicate ttf-parser and rustybuzz face 🥞 2021-04-06 15:13:20 +02:00
Laurenz
de20a21a58 Reshaping with unsafe-to-break
Co-Authored-By: Martin <mhaug@live.de>
2021-04-05 22:32:09 +02:00
Laurenz
e8057a5385 Make pdf module top-level 🧱 2021-03-24 21:48:25 +01:00
Laurenz
73615f7e3c Text shaping 🚀
- Shapes text with rustybuzz
- Font fallback with family list
- Tofus are shown in the first font

Co-Authored-By: Martin <mhaug@live.de>
2021-03-24 17:12:34 +01:00
Laurenz
264a7dedd4 Scheduled maintenance 🔨
- New naming scheme
  - TextNode instead of NodeText
  - CallExpr instead of ExprCall
  - ...
- Less glob imports
- Removes Value::Args variant
- Removes prelude
- Renames Layouted to Fragment
- Moves font into env
- Moves shaping into layout
- Moves frame into separate module
2021-03-19 17:57:31 +01:00
Laurenz
51efb0f4d6 Port remaining parser tests 🚚 2021-01-16 15:08:03 +01:00
Laurenz
d763f0f5a6 Split state and scopes, less ref-counting 🔀 2021-01-15 16:53:02 +01:00
Laurenz
aae67bd572 Move and rename many things 🚛 2021-01-03 00:12:09 +01:00
Laurenz
475ca7a62e Basic environment and resource loader 🏞 2020-11-27 22:35:42 +01:00
Laurenz
e94627721d Adapt to fontdock 🔼 2020-10-12 16:59:21 +02:00
Laurenz
13230db68c Fix some clippy warnings ✔ 2020-10-07 19:28:34 +02:00
Laurenz
7143e10afc Streamline font handling a bit 📜 2020-09-30 13:18:42 +02:00
Laurenz
181f756a9e Format everything with rustfmt! 💚 2020-08-30 22:18:55 +02:00
Laurenz
dbfb3d2ced Formatting, documentation and small improvements 🧽 2020-08-03 16:04:55 +02:00
Laurenz
cbbc46215f Layout elements and pure rust rendering 🥏 2020-08-02 21:17:42 +02:00
Laurenz
06dbac6efd Port font handling to fontdock and ttf-parser 🛳
- Use fontdock for indexing fonts and querying
- Typst binary now automatically indexes and uses system fonts in addition to a fixed font folder!
- Removes subsetting support for now (was half-finished anyways, plan is to use harfbuzz for subsetting in the future)
- Adds font width configuration support
2020-08-01 00:10:54 +02:00
Laurenz
7b2a4aa040 Split font module into submodules 🧱 2019-06-22 20:41:04 +02:00
Laurenz
864ae9f604 Parse loca table 🔨 2019-06-22 19:43:06 +02:00
Laurenz
099ce71aba Unify font classes + By-value-contexts ⚖ 2019-06-22 15:32:19 +02:00
Laurenz
c7ee2b393a Fix top-left text alignment 📐 2019-06-22 12:51:06 +02:00
Laurenz
968e121697 Implement flex and box layouting 📏 2019-06-21 21:41:02 +02:00
Laurenz
b53ad6b1ec Introduce flex layouting 🎈 2019-06-17 10:08:16 +02:00
Laurenz Mädje
c4eb4ee362 Fix some documentation 🚧 2019-06-02 12:39:59 +02:00
Laurenz
c38e17d91f Thoroughly improve documentation 📝 2019-05-26 21:59:33 +02:00
Laurenz
b3734bbc04 Restructure engine into modular layouter 🍂 2019-05-24 12:24:10 +02:00
Laurenz
e3215fa3b9 Unify parsing and typesetting functions. 🗳 2019-05-20 11:36:31 +02:00
Laurenz
c384e52480 Improve code quality 🎫 2019-04-29 13:41:00 +02:00
Laurenz
6c29e45ce2 Implement paragraphs 📜 2019-04-01 13:33:54 +02:00
Laurenz
3b4b55c59e Implement bold and italics 📜 2019-04-01 12:25:31 +02:00
Laurenz
e589843966 Implement font fallback 🚀 2019-04-01 10:01:42 +02:00
Laurenz
54ace2a7fd Simplify subsetter definition 2019-03-31 17:24:52 +02:00
Laurenz
a522a15a66 Insert default glyph when subsetting ⚙ 2019-03-31 15:47:57 +02:00
Laurenz
0fceff5aa4 Fix some things 🚧 2019-03-31 12:35:44 +02:00
Laurenz
5ca303ecad Make things more consistent ♻ 2019-03-30 20:58:46 +01:00
Laurenz
adfd7dd073 Create complex font_info macro 🚀 2019-03-30 20:13:30 +01:00
Laurenz
e6e5aad7ce Refactor font providing ⚙ 2019-03-30 18:47:17 +01:00
Laurenz
db96ecae94 Move some types into better places 🧱 2019-03-30 16:58:45 +01:00
Laurenz
f683bba400 Create error_type! macro ✔ 2019-03-30 16:42:52 +01:00
Laurenz
229bd7783c Refactor opentype crate ♻
- Restructure modules
- Improve code and documentation clearity
2019-03-29 22:46:12 +01:00
Laurenz
83dd762f67 Font providers 🚀+ better docs 📜 2019-03-14 19:54:38 +01:00
Laurenz
22ea09d9c1 Better error handling 🌍 2019-03-14 17:10:06 +01:00
Laurenz
aae8a3a77e Unified font error type 🔗 2019-03-14 15:35:01 +01:00