# Assets Every image, icon, font or other asset file in this repository needs a row here. `cargo xtask assets` (part of `cargo xtask ci`) fails on any asset file without a row, and on any font file except the one key-symbol font below. RustFig otherwise ships no fonts: text uses the system's fonts, the TeX Gyre fonts a user installs from CTAN (Help menu), and the `epaint_default_fonts` fallback. | Path | Author | Source | Licence | Notes | |------|--------|--------|---------|-------| | `docs/images/rustfig-window.png` | Fabian Hassler (screenshot of RustFig, made for this repository) | this repository | MIT OR Apache-2.0 | README screenshot of RustFig's window showing `docs/images/rustfig-window.fig` (LaTeX preview on, the system's fonts); 1600 px, 256 colours | | `docs/images/rustfig-window.fig` | Fabian Hassler (original drawing made with RustFig) | this repository | MIT OR Apache-2.0 | The demo drawing in the README screenshot (plot, LaTeX special text, block diagram) | | `assets/fonts/rustfig-key-symbols.ttf` | The Noto Project Authors (subset by RustFig) | Noto Sans Symbols 2 (⌘ ⇧ ⌥ ⌫), Noto Sans Symbols (⌃ ⎋), Noto Sans Math (↩ ⇥): `fonts/NotoSansSymbols2`, `NotoSansSymbols`, `NotoSansMath` (`hinted/ttf/*-Regular.ttf`) of https://notofonts.github.io | SIL OFL 1.1 (`assets/fonts/OFL.txt`) | 2 KB, 8 glyphs, family renamed "RustFig Key Symbols"; egui's last fallback font (`crates/ui-egui/src/key_font.rs`). Per source: `pyftsubset --unicodes=… --no-hinting --layout-features= --drop-tables+=DSIG,GSUB,GPOS,GDEF,MATH,BASE,STAT,meta,vhea,vmtx,gasp`, then `fontTools.merge` and a rename (name IDs 1-4, 6). The only font file `cargo xtask assets` allows. | | `libraries/Arrows/` | Brian Smith; Rasmus Ursem | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Arrows`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Audiovisual/` | William Chimiak | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Audiovisual`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Buildings/` | W. Chimiak; Brian V. Smith | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Buildings`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Computers/` | Bill Chimiak; Dirko van Schalkwyk; T. Sato; Yazz D. Atlas; Ernst Pisch; Markus Laner | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Computers`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/DSP/` | Jakub Stastny | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/DSP`) | Free to distribute with the copyright notice kept (`libraries/DSP/README`) | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Electrical/` | Peter Hiscocks; Brian Smith; Min Xu; Dirko van Schalkwyk | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Electrical`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Electronic/` | Peter Hiscocks; Brian Smith; Min Xu; Dirko van Schalkwyk; William Chimiak; Hubert Lam | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Electronic`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/ERD/` | Antonio Luis Delgado Gonzalez | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/ERD`) | xfig licence (`libraries/ERD/LICENSE`, notice kept) | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Examples/` | Brian Smith and the contributors credited in `libraries/README` (the pictures: unknown authors) | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Examples`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a; `house_plans.fig` (not for profit) and `transit.fig` (copyright Robert Ford) left out | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Fasteners/` | Jim Yuzwalk | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Fasteners`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Feynman/` | RustFig contributors (Fabian Hassler; generated by `cargo xtask libraries`) | this repository (`xtask/src/libraries.rs`) | MIT OR Apache-2.0 | Original Feynman-diagram figure library (D13): line parts, vertices, blobs, momentum arrows and four example diagrams, written from code; every `.fig` file below this folder is covered by this row | | `libraries/Flags/` | Roland Rosenfeld; Roman Maurer; Brian Smith | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Flags`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Flowchart/` | Tim P. Starrin | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Flowchart`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Furniture/` | Brian V. Smith | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Furniture`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/GUI/` | Antonio Luis Delgado Gonzalez | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/GUI`) | xfig licence (`libraries/GUI/LICENSE`, notice kept) | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Hospital/` | Bill Chimiak | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Hospital`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Knitting/` | Kate Hedstrom | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Knitting`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Labels/` | William Chimiak; Brian V. Smith | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Labels`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Logic/` | Peter Hiscocks | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Logic`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Maps/` | Steve Eichblatt; Brian V. Smith | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Maps`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Mechanical_DIN/` | Kai-Martin Knaak | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Mechanical_DIN`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Miscellaneous/` | Rasmus Ursem; Brian Smith; Andrew Collier (Astrology) | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Miscellaneous`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Music/` | Bill Chimiak; Reinaert Albrecht; Brian Smith | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Music`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Networks/` | Bill Chimiak; Louis B. Moore; Dirko van Schalkwyk; Tomi Ollila; T. Sato; Markus Laner | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Networks`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/OfficeEquip/` | Brian Smith and contributors | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/OfficeEquip`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Optics/` | Kai-Martin Knaak | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Optics`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Origami/` | Marc Vigo Anglada | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Origami`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/ProcessFlowsheet/` | Volker Siepmann | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/ProcessFlowsheet`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Structural_Analysis/` | Roman Putanowicz | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Structural_Analysis`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/UML/` | Andreas Ludwig | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/UML`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Welding/` | Erik Engh | https://sourceforge.net/projects/mcj (xfig 3.2.9a, `Libraries/Welding`) | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Figure library of .fig files (library mode, D6), READMEs kept; every `.fig` file below this folder is covered by this row | | `libraries/Examples/bugs.gif` | Unknown (from xfig's Libraries/Examples) | xfig 3.2.9a `Libraries/Examples/bugs.gif` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Examples/icebergs.jpg` | Unknown (from xfig's Libraries/Examples) | xfig 3.2.9a `Libraries/Examples/icebergs.jpg` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Examples/pumpkin.xbm` | Unknown (from xfig's Libraries/Examples) | xfig 3.2.9a `Libraries/Examples/pumpkin.xbm` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Examples/teapot.xpm` | Unknown (from xfig's Libraries/Examples) | xfig 3.2.9a `Libraries/Examples/teapot.xpm` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Flags/Africa/egypt_arms.png` | Brian Smith (flags) | xfig 3.2.9a `Libraries/Flags/Africa/egypt_arms.png` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Flags/Africa/eritrea_arms.gif` | Brian Smith (flags) | xfig 3.2.9a `Libraries/Flags/Africa/eritrea_arms.gif` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Flags/Africa/zambia_detail.png` | Brian Smith (flags) | xfig 3.2.9a `Libraries/Flags/Africa/zambia_detail.png` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Flags/Africa/zimbabwe_detail.gif` | Brian Smith (flags) | xfig 3.2.9a `Libraries/Flags/Africa/zimbabwe_detail.gif` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Flags/Asia/myanmar_grain.gif` | Brian Smith (flags) | xfig 3.2.9a `Libraries/Flags/Asia/myanmar_grain.gif` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Flags/Asia/tajikstan_detail.gif` | Brian Smith (flags) | xfig 3.2.9a `Libraries/Flags/Asia/tajikstan_detail.gif` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/Flags/NorthAmerica/mexico.ps` | Brian Smith (flags) | xfig 3.2.9a `Libraries/Flags/NorthAmerica/mexico.ps` | xfig licence (`LICENSE-xfig`); no notice of its own, distributed with xfig 3.2.9a | Picture used by a figure of the library | | `libraries/OpticsLab/` | RustFig contributors (Fabian Hassler; generated by `cargo xtask libraries`) | this repository (`xtask/src/libraries/optics.rs`) | MIT OR Apache-2.0 | Original optics-lab figure library (D13): laser, beams, lenses, mirrors, splitters, wave plates, polarizers, fibre parts, detectors, modulators, prism, grating, cavity, vacuum and cryostat parts and three example setups, written from code; every `.fig` file below this folder is covered by this row | | `libraries/PhysicsCircuits/` | RustFig contributors (Fabian Hassler; generated by `cargo xtask libraries`) | this repository (`xtask/src/libraries/circuits.rs`) | MIT OR Apache-2.0 | Original physics circuit-elements figure library (D13): resistors, capacitor, inductor, Josephson junctions, SQUID, sources, grounds, transformers, transmission line, tunable parts, port, junction and three examples, written from code; every `.fig` file below this folder is covered by this row | | `libraries/QuantumCircuits/` | RustFig contributors (Fabian Hassler; generated by `cargo xtask libraries`) | this repository (`xtask/src/libraries.rs`) | MIT OR Apache-2.0 | Original quantum-circuit figure library (D13): wires, gates, controls, measurement, CNOT/CZ/SWAP, multi-qubit boxes, labels and four example circuits, written from code; every `.fig` file below this folder is covered by this row | Besides the key-symbol font, the asset files are xfig's figure libraries (`libraries/`, plan D6): one row per library folder covers its `.fig` files (`cargo xtask assets` fails on a `.fig` file under `libraries/` whose folder has no row), and each picture file (GIF, PNG, JPEG, XBM, XPM, PostScript) has a row of its own. Left out for their licence: `Charts` ("released under the GPL", no version or text), `Examples/house_plans.fig` (not for profit), `Examples/transit.fig` (copyright Robert Ford). Everything visual is generated in code: - Mode panel icons and attribute pictures: xfig's XBM bitmaps (36×32 mode icons, 32×32 attribute pictures) from xfig's `src/w_icons.c`, kept as byte arrays in `crates/ui-egui/src/xfig_icons.rs` (xfig licence, `LICENSE-xfig`). - Fill patterns 41–62: `crates/fig2dev/src/scene/pattern.rs` (in fig2dev's repository). - The 32 standard colours: `crates/model/src/color.rs` (values defined by the Fig format). - Fallback fonts come from the `epaint_default_fonts` crate dependency, not from this repository (see `NOTICE`).