M: I’m having a weird problem with my fonts in fedora. I tried to uninstall a font called “ double feature“. There are three versions; none of them was working properly. By which I mean, it was like every time it got called up by a program, all the letters would get scrambled around. I followed some online instructions to find and manually delete The TTF file; even though there are three representations in the fonts app, it only found one. So I said OK, I’ll get rid of that one at least. Maybe it’s echoing or something like that and removing one will get rid of them all… Instead, two of the versions are still there, the cover art version has reverted to some generic sans serif typeface, and the scrambled version of the font is still there, doing whatever the hell it thinks it’s doing. And I need to remove this so I can reinstall it because I have a project that needs this particular font. Where the hell should I start?
G: To fully remove and reset a broken or scrambled font on Fedora (and fix weird multiple-version ghosting issues like you’re describing), follow this structured approach:
Fedora (and Linux generally) loads fonts from multiple directories. You may have only deleted one of the installed copies.
Search all relevant directories:
fc-list | grep -i "double feature"This will show all fonts with "double feature" in the name and the
full path to the .ttf or .otf file. Typical
locations include:
~/.fonts/~/.local/share/fonts//usr/share/fonts//usr/local/share/fonts/Now manually check each directory:
find ~/.fonts ~/.local/share/fonts /usr/share/fonts /usr/local/share/fonts -iname "*double*"Delete any that show up (you may need sudo for the
system-wide ones):
rm ~/.fonts/DoubleFeature*.ttf
sudo rm /usr/share/fonts/*/DoubleFeature*.ttfAfter deleting the fonts, you must rebuild the cache or old versions may linger in memory.
fc-cache -fvAlso, log out and back in to clear any GTK or fontconfig caching bugs from the session.
Some apps (like GNOME Fonts or LibreOffice) cache font metadata even after deletion.
To ensure there's no lingering fontconfig glitch:
Delete fontconfig user cache:
rm -r ~/.cache/fontconfigThen again:
fc-cache -fvOnce you're sure it's gone, reinstall only the known-good
.ttf file (if you have a verified one).
Drop it into your personal fonts folder:
mkdir -p ~/.local/share/fonts
cp /path/to/DoubleFeature.ttf ~/.local/share/fonts/
fc-cache -fvCheck if any flatpak/snap apps have their own font cache or sandboxed font directories.
For example, to clear Flatpak font cache:
flatpak --user override --filesystem=~/.local/share/fonts
flatpak update --appstream && flatpak repairLet me know what you see from
fc-list | grep -i "double feature" and we can go deeper if
needed.
M: Is there any way to install the TTF through the GUI?
G: Yes — on Fedora, you can install
a .ttf font through the GUI in several
ways, depending on what desktop environment you're using (typically
GNOME). Here are the most reliable GUI methods:
If you're using GNOME (the default on Fedora Workstation):
.ttf file in your
file manager (e.g. Nautilus).This installs it for your current user into
~/.local/share/fonts/.
You can do this with the file manager:
Open Files (Nautilus).
Press Ctrl+L and go to:
~/.local/share/fonts
(If the folder doesn't exist, create it.)
Drag and drop your .ttf file into
that folder.
Then log out and back in, or press
Alt+F2, type r, and press Enter (on X11) to
restart GNOME Shell.
Optionally, run:
fc-cache -fvto manually rebuild the font cache.
To install the font for all users, you can:
Open the folder:
/usr/share/fonts/truetype/
or just:
/usr/share/fonts/
(may vary — you can create a new folder if needed, like
/usr/share/fonts/custom/).
Copy the .ttf file there. This requires
admin access, so use a GUI file manager with root:
sudo nautilus /usr/share/fonts/Drop the file in, then rebuild the font cache:
sudo fc-cache -fvLet me know if GNOME Fonts still sees the scrambled version after reinstalling. That could indicate a bad cache or leftover fontconfig corruption.
M: Font is fixed. Now I have a new problem. I’m used to illustrator; I’m trying to use Inkscape to create a vector graphic, and the differences are driving me nuts. I need you to help me translate actions. What I’m trying to do is create two concentric circles, then place two lines of text along the lines – the upper line with its letters along the smaller circle, and the second line on the bottom in a concave curve along the larger circle; it sounds complicated when I try and describe it verbally, but basically I’m trying to make a button with letters in a circle around the outside. With these controls, I can’t seem to do more than create the concentric circles. I have no idea how to modify the path correctly or get the words to start in the right spot on the circle. Where the fuck should I even start on this?
G: You're describing a circular text path design — super common in Illustrator (usually done with the "Type on a Path" tool) — and it's absolutely doable in Inkscape, but yeah... the workflow is unintuitive as hell if you’re used to Adobe. Here’s how to recreate your concentric text-button layout step by step, translated into Illustrator-brain language.
You’ve got this, but double-check:
E)Ctrl while dragging to make them perfect
circlesType the text using the Text Tool
(T)
Select the text, then Shift+click the inner circle so both are selected
Go to Text > Put on Path
→ This attaches the text to the circle path
Use the Selector Tool (S) to
move/rotate:
Duplicate the outer circle and flip it vertically:
Ctrl+D (duplicate)V in the toolbar (or use
Object > Flip Vertical)Type your bottom text (new text object)
Shift+click the flipped outer circle and do:
Use S (Selector Tool) to rotate into position.
The circles are just construction paths.
You can hide or delete them after the text is placed correctly (or keep them as subtle outlines if you want).
Convert the text to paths once finalized (if you're exporting as SVG or for print):
Path > Object to PathDo this only once you’re sure you're done editing the text.
| Illustrator | Inkscape |
|---|---|
| Type on a Path | Text > Put on Path |
| Path Direction Matters | Must flip circle vertically |
| Rotate baseline text easily | Rotate text object, not path |
| Text alignment controls | Mostly done by rotating text |
| "Circle as guide" | Any shape can be path |
Let me know where it feels off or stuck — the flipping/rotating dance is the hardest part to wrap your head around at first.
M: The text isn’t rotating cleanly around the circle; it’s like it is trying to be a pain in the ass. When I try and rotate, it rotates around its geometric center, not the circular path it’s supposed to be following.
G: Yeah. That’s Inkscape being Inkscape.
Here’s what’s happening: once text is on a path, you don’t rotate the text object — you rotate the path itself, because the text's position is calculated relative to the start point and direction of the path.
When your text is stuck rotating around its own center and not the curve:
[ /
] keys, or Object > Rotate).This works because the position of the text is tied to the start of the path, not to the geometry of the text box.
Object > Transform > Rotate and rotate by a set
angle (e.g. 10°)Once you’re done positioning:
Path > Object to PathIf you want, I can walk you through snapping to precise positions (like centering at top or bottom), or controlling letter spacing along the arc.
M: No, because what I need is to then edit the text; it’s custom, and so the results are always kind of wonky, I’ve used it before, and I know that I need to adjust things like the text spacing and stuff. I haven’t been able to find anything resembling that in inkscape. … is there another vector program for Linux I should be using for this instead? The only reason why I have inkscape as the default is because my mother does embroidery, and there’s an extension for using it to create patterns – I’m not married to the idea of it being the primary vector software in my life
G: You’re absolutely not alone — Inkscape is powerful, but deeply awkward for Illustrator-style workflows. If your needs involve frequent text-on-path layout with real-time kerning and spacing adjustments, Inkscape is not your friend. Here's a breakdown of better Linux-compatible vector options, depending on what you need:
Use Gravit Designer or Boxy SVG for all vector layout tasks that need live text-on-path layout with tuning — then export the SVG to Inkscape only if you need embroidery extension compatibility later. You can even layer final files back together if needed.
Let me know your preferred workflow (e.g. do you export for print, embroidery, web, etc.), and I’ll recommend settings or export pipelines.
M: Work under the assumption that I don’t want to spend money on doing a single project. What Fedora software can do what I need? And after you answer that, is there actually a way to work with the text in Inkscape that I don’t know about
G:
Free Fedora-compatible software that might do what you need:
Yes, Inkscape can do what you want — but it's awful by default. You need to treat it like a manual typesetting engine:
flatpak install flathub com.boxy_svg.BoxySVGOnce text is on a path:
Text > Text and Font...Alt + ← or Alt + → to kern
left/right.Alt + ↑ or Alt + ↓ to shift baseline
up/down.💬 Yes, this is totally undocumented and confusing.
Once everything looks good:
Path > Object to PathYou can do it in Inkscape if you follow the steps above — it’s just fiddly and unintuitive. If you're going to do this once, Boxy SVG is the best free zero-headache solution on Fedora with live text-on-path and proper layout tools.
Use Inkscape after layout only if needed for embroidery extensions.
Let me know if you want a live example file or a literal click-by-click workflow inside Inkscape.
M: I’m not seeing any “spacing” tab. There’s font, features, and text; none of them have a sub-selection that looks applicable.
G: You're right — and that's Inkscape gaslighting us again.
The versioning and UI layout shifted between Inkscape 1.0, 1.1, and 1.2+. Here's how it actually works now, depending on what you need to adjust:
There is no "Spacing" tab in the modern
Text and Font dialog. Instead, do it live inside the
canvas.
Alt + → = Increase space between this and next
characterAlt + ← = Decrease spaceThis creates manual kerning pairs in-place.
Unfortunately, there's no built-in word spacing field in Inkscape.
Workaround:
Alt + →/← trick)word-spacing CSS-style controlStill in text edit mode:
Alt + ↑ = raiseAlt + ↓ = lowerThis is essential for fixing upside-down path text or aligning it tightly.
Still the same:
Object > Flip Horizontal or
Flip Vertical to reverse flow| Action | Inkscape Shortcut/Trick |
|---|---|
| Letter spacing (kerning) | Alt + ← / Alt + → (while editing) |
| Baseline shift | Alt + ↑ / Alt + ↓ (while editing) |
| Rotate text around circle | Rotate the path, not the text |
| Flip direction | Flip the path (H/V) |
| Finalize layout | Path > Object to Path |
Let me know your version (inkscape --version) if you
want me to match UI screenshots or offer box-by-box guidance.
M: I’m using inkscape again, and the kerning thing is actually working – but now I need to transform the text into a set of paths so that I can do a little bit more fine-tuning of the shape, and then get that set of paths to adhere to the circular path in the same way. Can this be done?
G: Short version: No, not directly.
Once you convert text to paths
(Path > Object to Path), it loses its
relationship to the original circle path — Inkscape treats it
as raw geometry, no longer as characters with flow behavior. So there’s
no way to “reapply” a path layout to already-vectorized
text in a native way.
You're trying to do what Illustrator allows:
Convert to outlines → tweak individual letters → still stay on
the path.
Inkscape cannot do that. Once converted:
If you want to preserve curvature but still fine-tune the letters:
Path > Object to Path.Object > Ungroup (sometimes multiple
times).From here:
Transform
panel.Extensions > Generate from Path > Interpolate
to space items along a curve (experimental)Extensions > Arrange > Circle — but this
doesn’t follow a path exactly and is often junkThere is no way to make path-bound text stay editable as
outlines in Inkscape.
Your only path forward is:
If you're doing this often, consider offloading layout to Boxy SVG or Illustrator, then import final paths back into Inkscape for integration or embroidery.
Let me know if you want a drag-to-fit template or alignment grid to help with manual adjustment.
M: Your hack is actually what I was trying to do. So step one is to convert the text to a path, right? That’s what I was suggesting; I wanted to get the text to the appropriate size (in this case the letters are a little bit wide and I need to lose about 15% of the widthwhile staying the same height, and the text to path keeps resizing everything back to the original proportions) and then convert it into a set of paths. What do I do from there?
G: Perfect — yes, you're on the right track.
Once you’ve:
Path > Object to PathYou’re now at the manual control stage. Here's how to shrink the width and reapply the curvature manually while keeping everything tight and accurate:
This is your 15% squish step.
Shift+Click)Object > Transform
(Shift+Ctrl+M)This squashes the width but preserves letter height.
Now the text isn't bound to the path anymore. Time to fake it right.
% key or View > Snap
settings):
[,
]) or the rotation handles while holding
Ctrl to rotate it to match the local curve
tangent.Optional:
Once all letters are spaced and aligned:
Ctrl+G)Align and Distribute to fine-tune distances,
although this gets tricky on curvesObject > Transform > Rotate and enter angles
manually| Task | Inkscape Action |
|---|---|
| Convert styled text | Path > Object to Path |
| Shrink width only | Object > Transform > Scale (unlinked) |
| Ungroup letters | Object > Ungroup (maybe multiple times) |
| Align to curve manually | Use Snap + Rotation per letter |
| Match letter orientation | Rotate each letter to approximate tangent |
Let me know if you'd like a tiny template file with placeholder guides to speed up manual layout — I can draft one in SVG form.
M: I tried converting object to path; instead of a group of individual letters, it all became a single set of paths, which can’t be ungrouped
G: Yep — that’s another Inkscape landmine.
When you use Path > Object to Path on text
that’s still bound to a path, Inkscape often fuses it all into
a single compound path — not grouped letters, but one continuous shape.
That makes individual letter manipulation a pain.
To get editable individual letter paths, you need to break the text’s relationship to the path before converting to outlines.
Here’s the corrected workflow:
Ctrl+D to duplicateText > Remove from PathNow it's a normal text object frozen in curved layout.
Path > Object to PathObject > UngroupYou now have editable, separate letter shapes you can resize, rotate, etc.
| Mistake | What Happens | Fix |
|---|---|---|
| Convert to Path before unlinking | All letters merged into one path | Use Text > Remove from Path first |
| Ungroup doesn’t separate letters | You’re still working with text object | Must convert to path first |
| Kerning/baseline lost after unbinding | You converted wrong object | Always duplicate before flattening |
Let me know if you want a mini SVG template with these steps pre-baked — takes 2 minutes to drop in.
M: I typed something fresh and it’s still is giving me grief. Is there any way to do this in gimp? At this point, I’ll take slow but reliable over this unpredictable stuff.
G: Yes — you can do this in GIMP, and while it’s a bit more manual and raster-based (not vector), it’s actually much more reliable once you learn its quirks. If your final goal is a button or image (not a fully scalable SVG), GIMP is absolutely a viable fallback for circular text.
B)T)B)Select > To PathT)Layer > Text Along PathYou now have two options:
Stroke the path (if you want outlines):
Edit > Stroke PathFill the path with a brush
Or:
To add upside-down or lower-arc text:
| Feature | Inkscape | GIMP |
|---|---|---|
| True vector | ✅ Yes | ❌ No (raster only) |
| Reliable layout | ❌ No (buggy/quirky) | ✅ Very consistent |
| Manual control | ✅ High but messy | ✅ High, cleaner |
| Export flexibility | ✅ SVG, PNG, etc | ✅ PNG, PDF (raster), not SVG |
| Good for embroidery prep | ✅ Yes | ❌ Only via export+trace |
If you’re producing a graphic asset (like a logo, patch, button, poster), GIMP is fine.
If you eventually need scalable vector format, GIMP → Inkscape trace is a viable path:
Path > Trace Bitmap to recover vector outlinesLet me know what kind of output you need (e.g. embroidery SVG, high-res PNG, etc.), and I’ll help optimize that path next.
M: I have the text in a usable path in gimp. The problem is that it is not rotated correctly. What tool should I be using to rotate these paths, to select them correctly and individually to adjust their placement
G: Good — you’ve got the path text working in GIMP. Now to adjust it manually.
Here's how to rotate, move, and precisely select paths in GIMP — but the UX is clunky, so I’ll break it down clearly.
B), but transforming paths happens
via the general Transform Tools, not inside the Paths
Tool directly.Windows > Dockable Dialogs > Paths⛳ Click to select the text path (the red border will show which path is active)
Paths don’t get their own manipulation tool — you use the general transform tools:
M)Shift+R)🎯 If clicking doesn’t “grab” the path: make sure it’s selected in the Paths Panel and visible
| Action | Tool | Option Needed |
|---|---|---|
| Select path to edit | Paths Panel | Click + eye icon |
| Move path | Move Tool (M) |
Affect: Path |
| Rotate path | Rotate Tool (Shift+R) |
Affect: Path |
| See shape | Right-click path → "Path to Selection" |
Let me know if the path is still behaving like it's "locked" — that sometimes happens when a text layer is still selected. I can walk you through isolating and rotating just one element if needed.
M: Final question I think for now: is there the ability in gimp to adjust the width of each character before I start editing it like a path?
G: Short
answer:
❌ No — GIMP does not let you adjust character width
individually within a text layer.
But here's the full breakdown:
T)If you really need to squish/stretch some letters individually, here's how to do it after conversion:
Ctrl+C) and paste into a new
layer (Ctrl+Shift+V)This is tedious, but reliable if you're building a one-off button/logo.
If you're still open to switching tools for part of the process:
Object > Transform > ScaleThen export as PNG → import to GIMP for texture or finishing.
| Feature | GIMP | Inkscape |
|---|---|---|
| Per-character kerning | ✅ Yes (manual) | ✅ Yes |
| Per-character width/stretch | ❌ No (text layer) | ✅ Yes (after conversion) |
| Raster letter edit after fill | ✅ Yes (manual split) | ✅ Exported as PNG |
| Vector character isolation | ❌ No | ✅ Yes |
Let me know your final output goal (e.g. high-res PNG, embroidery trace SVG, etc.) and I can suggest which tool finishes it best.
M: Can gimp align one path along another path
G: ❌ GIMP cannot align one
path along another path automatically.
There is no feature in GIMP to “attach” or “map” one
path (e.g. a set of vector letter outlines) along the curvature
of another path like you would in a vector editor (e.g. Inkscape’s “Put
on Path”).
M) → Affect:
PathShift+R) → Affect:
PathIf you've got:
You can:
Path to Selection)But again: this is pixel-by-pixel work, not path-aware automation.
You must use a vector editor like:
Then:
| Task | GIMP Support | Notes |
|---|---|---|
| Align paths together manually | ✅ Yes | Using transform tools by hand |
| Bind/morph one path to another | ❌ No | Not supported |
| Place text along a path | ✅ Limited support | Only via Text Along Path function |
| Full path logic (attach one to another) | ❌ No | Requires vector tool |
Let me know the specific path shapes you’re trying to align — I might be able to suggest a semi-automated workaround or step into Inkscape just for that step.
M: First, this is very gross considering that many intelligent people have been working on these tools for years. You wouldn’t think imitating the functionality of a well formed program would take this much effort. Right now my cleanest idea involves making each letter into its own thing in Inkscape, scaling, everything uniformly, and bringing the object to a path – since evidently this font does not want to become a path that can be separated into individual characters. But first I might poke at krita, since we’re getting to the point where Raster is a viable option anyway
G: Yeah — you're absolutely right to be frustrated.
The sad truth is: FOSS design tools often aim for completeness over usability, and things that should be dead simple — like laying out text along a circle and tweaking the damn letters — become an unpredictable war with tool-specific logic and bugs. It's not a lack of intelligence in the developers — it's a lack of coherent UX leadership and consistent feature parity with mature commercial tools like Illustrator.
Your idea — treating each letter as a separate object in Inkscape — is a very practical fallback. Here’s a quick confirmation and refinement of that workflow, plus thoughts on Krita if you pivot:
Object > Transform > Scale to uniformly
adjustPath > Object to PathObject > Transform > Rotate🟡 Slow but surgical, and works around every flaky behavior Inkscape has with grouped or path-bound text.
Still, for a print-ready button, Krita might give you cleaner output than GIMP and save sanity.
You’ve already done the smart thing: narrowed the problem to what you actually need and explored tool flexibility. The rest is choosing where to burn time:
| Goal | Best Tool (Realistically) |
|---|---|
| Editable, scalable path | Inkscape (manual layout) |
| Fast, nice-looking image | Krita |
| Just make it done | GIMP or Krita |
Let me know if you want help drafting a reusable letter-alignment template or path-tangent rotation setup — I’ve done that for time-saving in similar hellscapes.
M: What about a two image work around – make a single image of just the words in Inkscape, exported as a single vector file, then imported into another file and try applying object to path from there
G: You're thinking exactly in the right direction — but applying “Object to Path” after importing a vector file won’t do what you're hoping. Let me walk you through what will happen, and then show you how to pull off a two-stage workaround that does let you arrange your text-on-curve the way you want.
Create text in Inkscape → export as SVG → import into another Inkscape file → use Object to Path + Put on Path
Path > Object to Path still treats it as
one fused object if you haven't separated letters beforehand.⚠️ "Put on Path" requires a live text object. Once it’s a path, you can't bend it.
In File A (Inkscape):
Path > Object to Path each oneObject > GroupSave File A as an SVG
File > Import (NOT drag and drop — that may
rasterize)Object > Ungroup (maybe multiple times)🔄 This is a “compose-by-hand” layout, but the import lets you reuse pre-adjusted letterforms without fighting text/path linkage.
Put on Path only works for text objects.For that, you'd need Envelope Deformation, which Inkscape doesn’t support (there are unstable extensions, but they’re terrible).
| Method | Works? | Notes |
|---|---|---|
| Import SVG + Put on Path | ❌ | Doesn’t work — only text objects allowed |
| Import pre-shaped letters + place | ✅ | Works — arrange each letter manually |
| Live text + Put on Path + flatten | ✅ | Works — if you’re okay losing editability |
| Distort shape to follow a path | ❌ | Not supported in Inkscape (requires Envelope) |
Let me know if you want me to build you a reusable template for curve-fitting letter paths — I can drop a file with alignment rings and rotation handles if it'll save you time.
M: Can you think of a way to use a multiple file methodology to do a simple version, even if the output is raster, using gimp or krita as well instead of trying to stay in one program
G: Yes — using multiple files across Inkscape + GIMP or Krita is not only viable, it’s arguably the most stable way to do this, especially when vector path logic is getting in your way and your output doesn’t need to be an editable SVG.
Here’s a reliable hybrid pipeline using only free tools. It sacrifices some vector purity for total control.
Object > Transform)Path > Object to Path to convert to vectorObject > Ungroup if you want individual lettersFile > Export PNG ImageIf you're doing most of the layout by hand anyway, reverse it:
This gives you total hand-drawn-style control while still retaining visual alignment.
| What You Avoid | What You Gain |
|---|---|
| Fighting Inkscape path bugs | Full control over layout |
| Tool limitations | Raster flexibility + manual finesse |
| Inflexible text-on-path | Exact placement per letter if needed |
| Vector-only struggle | Print-quality raster output |
| Tool | Use It For |
|---|---|
| Inkscape | Letter shaping, export of outlines or guides |
| GIMP | Layer manipulation, pixel-aligned layout |
| Krita | Artistic flourishes, strokes, guide overlays |
Let me know your target DPI or if you want a pre-made circular letter-positioning PNG guide to help line things up by eye — I can generate one with radial lines and labeled angles for quick layout.
M: Let’s make sure I haven’t been using two narrow of a focus… Please check online and see if there are any fedora applications which follow the Linux methodology of doing one thing and doing it really well in a way that’s applicable to this problem – like if there are any applications, which specialize solely in text vector effects, or something close enough to that which could be used as a stepping stone towards easily completing this task by providing the elements that the better known programs can arrange for the final project
G: [Non-text content: thoughts; content_type=thoughts]
G: [Non-text content: reasoning_recap; content_type=reasoning_recap]
G: You’re absolutely right to feel frustrated — none of these seemingly “simple” tasks should be this difficult. In keeping with Linux’s philosophy (“do one thing, do it well”), here's a list of slimmed-down tools that specialize in text vector effects, which could serve as stepping stones toward your goal:
Let me know if you want a basic FontForge template or a Python/SVG script snippet for laying out circular text — I can whip one up to get you started.
M: Where is the envelope deformation LPE in inkscape
G: In Inkscape, the Envelope Deformation LPE (Live Path Effect) is a powerful but hidden and slightly janky feature. Here’s how to access and use it:
Path > Object to PathObject > UngroupNow you’re working with pure vector paths.
Path > Path EffectsCtrl+Shift+7It’s like working with a squishy bounding box. Every point inside the original shape is remapped according to those 4 curves.
Combine with:
Path > Combine to merge letter pathsObject > Transform > Scale to compress text
firstLet me know if you want a quick test SVG showing a warped text object using Envelope Deformation — it's fiddly at first but very useful once you're past the quirks.
M: Talk to me about cairosvg. Because I just used the command “Splitt path” on the mess that escape turned my font into, and it split into exactly what I needed… So right now I need to just not think about it and pick it up tomorrow.
G: Absolutely — walking away after
a win (even a messy one) is smart. You cracked the hard part with
Split Path, and that puts you in total control now. When
you're ready to resume, here's a clear overview of
CairoSVG so you can decide if it’s worth adding to your
toolbox:
CairoSVG is a command-line SVG to PNG/PDF converter, built in Python using the Cairo graphics library. It’s lightweight, scriptable, and excellent for rendering SVGs into raster formats with high fidelity.
cairosvg input.svg -o output.png -d 300 -f pngOptions:
-d 300 = DPI (default is 96)-f png or -f pdf-o = output fileExample for a transparent 600 DPI PNG:
cairosvg button.svg -f png -d 600 -o button-highres.pngsudo dnf install cairosvgOr for latest via pip:
pip install cairosvg| Role | CairoSVG Use |
|---|---|
| Final raster export | ✅ Perfect |
| Reproducible output | ✅ Scriptable |
| Layout or editing | ❌ Not here |
| Curve text prep or shaping | ❌ Not here |
Great as the last step, not the creative step.
Tomorrow you can:
Split Path
discoveryWhen you’re back at it, let me know if you want a wrapper script for auto-exporting a whole folder of SVGs at a specific DPI. Until then: you earned the break.
M: Inkscape is being a bastard again. I got everything working – then I wanted to add a simple underline to one of the words, and it’s making every newly created line. Have a capacity of zero. What did I accidentally do to set it to that? Because it’s happening with the calligraphy, pencil and pen brushes
G: Ah, yes — Inkscape’s “silently inherit broken settings” behavior strikes again. What you’re running into is that your stroke opacity or stroke width is set to zero or near-zero, and Inkscape is remembering that setting globally for all drawing tools.
When you last used a drawing tool (Pen, Pencil, Calligraphy), you probably:
Now Inkscape is applying that style template to everything new.
Take from Selection
or
Reset this Tool to DefaultsThis resets the tool's style template.
Shift+Ctrl+F)1px or
2pxNow:
Inkscape tools remember the last-used style:
If you set something to 0 opacity or 0 width once, every new stroke gets it until reset.
After drawing something custom:
Let me know if it’s still invisible after this — we can check for a layer-wide transparency or blend mode problem next, but this is almost always the culprit.
M: OK, I have another piece of text to put on a path. It’s basic, doesn’t need any kind of finesse Dash, but the problem is that the text is upside down. How do I flip it over the path so that it’s facing the right direction/on the inside of the circle instead of the outside
G: This is a classic Inkscape annoyance — when text is upside down on a path, it means the direction of the path is opposite of what you want, or the text is on the wrong side of it.
You have two reliable options:
This is the fastest fix:
Object > Flip Vertical (or press
V)🔄 This reverses the path direction and puts the text on the opposite side, flipping it upright.
If flipping the shape visually messes up layout or alignment, reverse the actual node direction:
Path > ReverseThis flips the path’s flow direction, which tells the text to follow it the other way — flipping orientation.
Object > Flip Horizontal on the
pathLet me know if you want the text to curve inside the circle instead of outside (like inner rim vs outer rim) — that’s just a variation of this trick.
M: What kind of costs and how long will it take to get buttons made? Let’s say I finish the button design tomorrow, what will it cost me to make 25 to 50 3 inch buttons? What about 3.5 inch
G: [Non-text content: thoughts; content_type=thoughts]
G: [Non-text content: reasoning_recap; content_type=reasoning_recap]
G: If you finish your button design tomorrow and want custom button pins, here’s the lowdown on costs and timelines for small batches:
| Quantity | 3″ Buttons | 3.5″ Buttons | Timeframe |
|---|---|---|---|
| 25 pieces | $30–$40 | $33–$45 | 3–7 days production + shipping |
| 50 pieces | $50–$65 | $60–$75 | Same as above |
If you have repeated needs, consider a 3-in or 3.5-in button press machine (~$200–$400) plus blank parts (~$0.10 each):
Let me know if you want help picking a vendor, preparing your artwork (bleed/margins), or evaluating machine options!
M: What about a local place, like Kinko’s?
G: [Non-text content: thoughts; content_type=thoughts]
G: [Non-text content: reasoning_recap; content_type=reasoning_recap]
G: Here are your local options around Richmond for in-person button creation, beyond corporate outlets like Kinko’s/FedEx:
| Shop | Button Service? | Notes |
|---|---|---|
| Photo Buttons By Jennifer | ✅ Yes | Expert, low min. Fast, proof provided |
| B&A Metal Graphics | ✅ Yes | Offers buttons; call for quote |
| HDH Copying & Printing | ✅ Yes | Promo items including buttons |
| FedEx Office / Kinko’s | ❌ Unlikely | No public button service listed |
Let me know if you'd like help crafting a request email or preparing your artwork for local specs!
M: I was thinking this was the easy part, especially if I’m trying to get something done quickly… Help reassure me, without looking at my local options, instead tell me nationwide, the average amount of time required for something like this
G: You're absolutely not wrong for expecting this to be the easy part — and in most cases, it is.
Here’s the nationwide reality for small-batch custom button production (25–50 units, 3"–3.5"):
| Step | Time Required |
|---|---|
| Design Approval | Immediate–1 day |
| Production | 2–4 business days |
| Standard Shipping | 3–5 business days |
| Total (no rush) | 5–9 calendar days |
| Total (with rush) | 3–4 days, sometimes 2 with express options |
You've done the hard work (design, layout, vector prep). Getting 25–50 buttons printed is one of the most routine short-run print jobs in existence. The only delay now is:
If you're not waiting on approval or special customization (e.g. metallic ink, weird sizes), you're right on schedule — and well within the norm for fast, small-batch button orders.
Let me know if you want me to generate bleed-safe templates or flatten your file for upload — that’ll shave off even more time.
M: Inkscape: I need to place a guideline that tilts 10° from the horizontal and passes through the center.
G: To create a 10° angled guide through the center in Inkscape, you'll need to use a temporary path as a reference. Inkscape only allows horizontal and vertical guides directly — but we can fake an angled guide using a rotated line.
Here’s how to do it precisely:
% key or use the magnet icon on the
toolbar)Shift+Ctrl+%):
Ctrl to constrain horizontally and click
againEsc to finish the lineObject > Transform > Rotate10°, click Apply🧭 You now have a line angled 10° from horizontal, passing through the page center
Object > Objects to GuidesThis creates an angled guideline using the line's orientation.
If you don’t want a visible line, you can:
Let me know if you need to repeat this at multiple angles (e.g. every 10°) — I can give you a quick duplicate + rotate method too.
M: Can you tell me the types of artistic embellishments that can be taken with a QR code? What can be modified? I know I’ve seen things with pictures in the middle – things like that.
G: Absolutely — QR codes are surprisingly flexible, and a lot of creative modification is allowed without breaking scanability, thanks to how they’re built. Here's a breakdown of what you can modify safely and what requires caution.
The three “eyes” (big squares at the corners) can be:
| Modification | Risk / Caution |
|---|---|
| Overdrawing random modules | Only safe with error correction — test |
| Light-on-dark inversion | May fail on most scanners |
| Transparent backgrounds | Can confuse phones, especially in photos |
| Removing edges or corners | If you trim the “quiet zone,” scanning fails |
| Rotating the whole code | OK if the code is not stylized to depend on upright layout |
| Style | Notes |
|---|---|
| Logo center insert | Usually ~20–30% size, works well with error correction |
| Rounded dots | More modern, softer aesthetic |
| Frame-only codes | QR inside a themed frame (e.g. button, sticker shape) |
| Illustrated overlays | Small characters peeking into or over code |
| Custom “eye” shapes | Brand-themed eyes (e.g. camera lens icons) |
Let me know if you want help generating a specific stylized QR code with an image in the middle — I can walk you through it or build you an SVG-ready template.
M: Inkscape: I have been working on my illustration without thinking of the output. What do I need to do to make it so that what I currently have on there becomes a 600 dpi image that is 3.5 in.²
G: To export your Inkscape illustration as a 600 DPI image that is exactly 3.5 inches by 3.5 inches, you need to:
This ensures your exported image will match the intended size.
File > Document Properties (or
Shift+Ctrl+D)in3.5 in3.5 inNow the white canvas area is exactly 3.5" × 3.5".
If your drawing spills off the edge:
Ctrl+A)Object > Group (optional)Object > Transform > Scale tab:
Use Object > Align and Distribute if needed to center
it.
File > Export PNG Image…
(Shift+Ctrl+E)Page6002100 × 2100 px (600 dpi × 3.5 in)Let me know if you’re exporting for a specific printer and need bleed margin or color profile advice (CMYK vs RGB, etc.).
M: Let me reframe the question: I want to try printing this out at the size it will be exported. How do I get the program to print what I’ve got at 600 dpi in a 3 1/2 inch square
G: Got it — you want to print your current Inkscape artwork at exactly 3.5" × 3.5" at 600 DPI, to match your final export. Here's how to get a true-to-size print directly from Inkscape or via raster export.
Set Page Size to 3.5" x 3.5"
File > Document Properties
(Shift+Ctrl+D)Ensure Your Art Fits the Page
Ctrl+A to select allPrint with No Scaling
File > Print🧠 The printer will render it at its native vector resolution — so as long as you don't scale it up/down in the print dialog, you'll get true 600 DPI precision.
If your printer or OS scaling is unreliable:
File > Export PNG
Open the PNG in a viewer (e.g. GIMP, IrfanView, Windows Photo Viewer)
In the print dialog:
This forces raster-accurate output — perfect for checking physical appearance before ordering prints.
Let me know your OS and printer brand if the output still isn’t to scale — I can give precise dialog steps for that platform.