Here's what I did :

```
function main() {
const jscad = require('@jscad/modeling')
const { vectorText } = jscad.text
const { geom2, path2 } = jscad.geometries
const { align, rotateX, rotateZ } = jscad.transforms
const { arc } = jscad.primitives
const { colorize } = jscad.colors
function texte (ch) {
const outlines = vectorText(ch);
const segmentToPath = (segment) => {
return path2.fromPoints({close: false}, segment)
}
const paths = outlines.map((segment) => segmentToPath(segment))
return paths
}
const t1 = texte("012345");
const t2 = align({grouped:true}, t1);
const nbL = t2.length;
let t3 = [];
t2.forEach((p, index) => {
t3.push(rotateZ(index/nbL, p));
});
console.log(t3)
return t3
}
module.exports = { main }
```

On the snapshot the 4 is apparently made of 2 paths, and the console output shows that there are 7 paths for 6 characters.

What I would like to do is to have curve that could be handled by parameters, and then the letters will follow that curves, first curve for the placement, second for the scale, I hope that it will be possible using Bezier.

]]>```
function main() {
const jscad = require('@jscad/modeling')
const { vectorText, vectorChar } = jscad.text
const { geom2, path2 } = jscad.geometries
const { align, translateX, rotateZ, center } = jscad.transforms
const { arc } = jscad.primitives
const { colorize } = jscad.colors
const { measureAggregateBoundingBox } = jscad.measurements
//const { union } = jscad.booleans
function lettre (ch) {
const outlines = vectorChar(ch);
const segmentToPath = (segment) => {
return path2.fromPoints({close: false}, segment)
}
const paths = outlines.segments.map((segment) => segmentToPath(segment))
return paths
}
let t = "MAKE IT REAL";
let t1 = t.split("");
let t2 = [];
let x = 0;
let nbL = 0;
t1.forEach((l, index) => {
if (l == ' ') {
x += 10;
}
else {
nbL++;
let L = lettre(l);
let b = measureAggregateBoundingBox(L);
if (index == 0) {
t2.push(L);
x = b[0][1];
}
else {
let b = measureAggregateBoundingBox(t2);
x+= b[1][1]
t2.push(translateX(x, L));
}
}
});
let t3 = [];
t2.forEach((p, index) => {
t3.push(rotateZ(Math.PI*index/(nbL-1), p));
});
return [
t2
, colorize([0,1,0], t3)
];
}
module.exports = { main }
```

Now I can start using control curves.

]]>