I'm pleased to announce the release of tresvg, a Tcl library SVG rendering.
What is tresvg ?
tresvg package is a wrapper around *resvg* (https://github.com/linebender/resvg)
/*resvg* is an SVG rendering library. It can be used as a Rust library, as a C library, and as a CLI application to render static SVG files.
The core idea is to make a fast, small, portable SVG library with the goal to support the whole SVG spec./
Use *tresvg* if :
- You need full SVG specification compliance.
- You work with complex, modern SVG files.
- Rendering quality and accuracy are priorities.
- You need reliable text rendering.
- You can accommodate with the build requirements.
_Requirements_:
Tcl 8.6 or higher.
*tcl-cffi* >= 2.0
*critcl* and *Tk* are optional for rendering SVG image to photo command.
_Building_:
You can either build the library yourself (if you have Rust installed or if you want to install it),
or use my repository’s GitHub Actions to automatically build platform-specific binaries for you (See detail here: https://github.com/nico-robert/tresvg?tab=readme-ov-file#building-).
_Links_:
GitHub: https://github.com/nico-robert/tresvg
Regards
Nicolas
Nicolas ROBERT <user10104@newsgrouper.org.invalid> posted:
I'm pleased to announce the release of tresvg, a Tcl library SVG rendering. >>
What is tresvg ?
tresvg package is a wrapper around *resvg* (https://github.com/linebender/resvg)
/*resvg* is an SVG rendering library. It can be used as a Rust library, as a C library, and as a CLI application to render static SVG files.
The core idea is to make a fast, small, portable SVG library with the goal to support the whole SVG spec./
Use *tresvg* if :
- You need full SVG specification compliance.
- You work with complex, modern SVG files.
- Rendering quality and accuracy are priorities.
- You need reliable text rendering.
- You can accommodate with the build requirements.
_Requirements_:
Tcl 8.6 or higher.
*tcl-cffi* >= 2.0
*critcl* and *Tk* are optional for rendering SVG image to photo command.
_Building_:
You can either build the library yourself (if you have Rust installed or if you want to install it),
or use my repository’s GitHub Actions to automatically build platform-specific binaries for you (See detail here: https://github.com/nico-robert/tresvg?tab=readme-ov-file#building-).
_Links_:
GitHub: https://github.com/nico-robert/tresvg
Regards
Nicolas
Is it also possible to store a canvas with some drawing as an SVG file?
I now use Peter Spjuth's pdf4tcl package to store such a drawing as a PDF file,
but I can imagine that a similar facility for SVG files might be useful.
Regards,
Arjen
Am 30.10.2025 um 10:52 schrieb Arjen:
Nicolas ROBERT <user10104@newsgrouper.org.invalid> posted:
I'm pleased to announce the release of tresvg, a Tcl library SVG rendering.
What is tresvg ?
tresvg package is a wrapper around *resvg* (https://github.com/linebender/resvg)
/*resvg* is an SVG rendering library. It can be used as a Rust library, as a C library, and as a CLI application to render static SVG files.
The core idea is to make a fast, small, portable SVG library with the goal to support the whole SVG spec./
Use *tresvg* if :
- You need full SVG specification compliance.
- You work with complex, modern SVG files.
- Rendering quality and accuracy are priorities.
- You need reliable text rendering.
- You can accommodate with the build requirements.
_Requirements_:
Tcl 8.6 or higher.
*tcl-cffi* >= 2.0
*critcl* and *Tk* are optional for rendering SVG image to photo command. >>
_Building_:
You can either build the library yourself (if you have Rust installed or if you want to install it),
or use my repository’s GitHub Actions to automatically build platform-specific binaries for you (See detail here: https://github.com/nico-robert/tresvg?tab=readme-ov-file#building-).
_Links_:
GitHub: https://github.com/nico-robert/tresvg
Regards
Nicolas
Is it also possible to store a canvas with some drawing as an SVG file?
I now use Peter Spjuth's pdf4tcl package to store such a drawing as a PDF file,
but I can imagine that a similar facility for SVG files might be useful.
Regards,
Arjen
To my knowledge, the canvas replacement tkpath has the ability to save
as svg and pdf. Take the androwish variant.
Take care,
Harald
Harald Oehlmann <wortkarg3@yahoo.com> posted:
Am 30.10.2025 um 10:52 schrieb Arjen:
Nicolas ROBERT <user10104@newsgrouper.org.invalid> posted:
I'm pleased to announce the release of tresvg, a Tcl library SVG rendering.
What is tresvg ?
tresvg package is a wrapper around *resvg* (https://github.com/linebender/resvg)
/*resvg* is an SVG rendering library. It can be used as a Rust library, as a C library, and as a CLI application to render static SVG files.
The core idea is to make a fast, small, portable SVG library with the goal to support the whole SVG spec./
Use *tresvg* if :
- You need full SVG specification compliance.
- You work with complex, modern SVG files.
- Rendering quality and accuracy are priorities.
- You need reliable text rendering.
- You can accommodate with the build requirements.
_Requirements_:
Tcl 8.6 or higher.
*tcl-cffi* >= 2.0
*critcl* and *Tk* are optional for rendering SVG image to photo command. >>
_Building_:
You can either build the library yourself (if you have Rust installed or if you want to install it),
or use my repository’s GitHub Actions to automatically build platform-specific binaries for you (See detail here: https://github.com/nico-robert/tresvg?tab=readme-ov-file#building-).
_Links_:
GitHub: https://github.com/nico-robert/tresvg
Regards
Nicolas
Is it also possible to store a canvas with some drawing as an SVG file?
I now use Peter Spjuth's pdf4tcl package to store such a drawing as a PDF file,
but I can imagine that a similar facility for SVG files might be useful.
Regards,
Arjen
To my knowledge, the canvas replacement tkpath has the ability to save
as svg and pdf. Take the androwish variant.
Take care,
Harald
Hm, I must look into tkpath again. I have no particular need for SVG support at this moment, I was just thinking of the possibilities."
Regards,
Arjen
I'm pleased to announce the release of tresvg, a Tcl library SVG rendering.
What is tresvg ?
tresvg package is a wrapper around *resvg* (https://github.com/linebender/resvg)
/*resvg* is an SVG rendering library. It can be used as a Rust library, as a C library, and as a CLI application to render static SVG files.
The core idea is to make a fast, small, portable SVG library with the goal to support the whole SVG spec./
Use *tresvg* if :
- You need full SVG specification compliance.
- You work with complex, modern SVG files.
- Rendering quality and accuracy are priorities.
- You need reliable text rendering.
- You can accommodate with the build requirements.
_Requirements_:
Tcl 8.6 or higher.
*tcl-cffi* >= 2.0
*critcl* and *Tk* are optional for rendering SVG image to photo command.
_Building_:
You can either build the library yourself (if you have Rust installed or if you want to install it),
or use my repository’s GitHub Actions to automatically build platform-specific binaries for you (See detail here: https://github.com/nico-robert/tresvg?tab=readme-ov-file#building-).
_Links_:
GitHub: https://github.com/nico-robert/tresvg
Regards
Nicolas
Am 29.10.2025 um 18:10 schrieb Nicolas ROBERT:
I'm pleased to announce the release of tresvg, a Tcl library SVG rendering.
What is tresvg ?
tresvg package is a wrapper around *resvg* (https://github.com/linebender/resvg)
/*resvg* is an SVG rendering library. It can be used as a Rust library, as a C library, and as a CLI application to render static SVG files.
The core idea is to make a fast, small, portable SVG library with the goal to support the whole SVG spec./
Use *tresvg* if :
- You need full SVG specification compliance.
- You work with complex, modern SVG files.
- Rendering quality and accuracy are priorities.
- You need reliable text rendering.
- You can accommodate with the build requirements.
_Requirements_:
Tcl 8.6 or higher.
*tcl-cffi* >= 2.0
*critcl* and *Tk* are optional for rendering SVG image to photo command.
_Building_:
You can either build the library yourself (if you have Rust installed or if you want to install it),
or use my repository’s GitHub Actions to automatically build platform-specific binaries for you (See detail here: https://github.com/nico-robert/tresvg?tab=readme-ov-file#building-).
_Links_:
GitHub: https://github.com/nico-robert/tresvg
Regards
Nicolas
This sound very good!
I'm not sure I want to try to compile it though, as my limitted
knowledge allways created issues with compile actions.
It would be great if tresvg would be part of the BAWT framework.
I sure would want to test this package.
Regards
Alex
meshparts <alexandru.dadalau@meshparts.de> posted:
Am 29.10.2025 um 18:10 schrieb Nicolas ROBERT:
I'm pleased to announce the release of tresvg, a Tcl library SVG rendering.
What is tresvg ?
tresvg package is a wrapper around *resvg* (https://github.com/linebender/resvg)
/*resvg* is an SVG rendering library. It can be used as a Rust library, as a C library, and as a CLI application to render static SVG files.
The core idea is to make a fast, small, portable SVG library with the goal to support the whole SVG spec./
Use *tresvg* if :
- You need full SVG specification compliance.
- You work with complex, modern SVG files.
- Rendering quality and accuracy are priorities.
- You need reliable text rendering.
- You can accommodate with the build requirements.
_Requirements_:
Tcl 8.6 or higher.
*tcl-cffi* >= 2.0
*critcl* and *Tk* are optional for rendering SVG image to photo command.
_Building_:
You can either build the library yourself (if you have Rust installed or if you want to install it),
or use my repository’s GitHub Actions to automatically build platform-specific binaries for you (See detail here: https://github.com/nico-robert/tresvg?tab=readme-ov-file#building-).
_Links_:
GitHub: https://github.com/nico-robert/tresvg
Regards
Nicolas
This sound very good!
I'm not sure I want to try to compile it though, as my limitted
knowledge allways created issues with compile actions.
It would be great if tresvg would be part of the BAWT framework.
I sure would want to test this package.
Regards
Alex
Yes, that is one of the requirements.
You need to have Rust installed.
Compiling is not very complicated, but I can understand that it might be a problem.
If you have a GitHub account, there is another solution: fork my project and run the compilation via GitHub Actions.
You will then be able to download the artefact for your OS.
Otherwise, in a few days I will publish another release with the compiled libraries, which will allow you to test it.
I will keep you informed on this forum.
But please, I hardly ever come here, so feel free to post an issue via GitHub.
Thank you.
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,089 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 153:53:52 |
| Calls: | 13,921 |
| Calls today: | 2 |
| Files: | 187,021 |
| D/L today: |
3,760 files (944M bytes) |
| Messages: | 2,457,163 |