Thanks for your replies. The CDI unit is from a single, and it would go on a Sanglas single. Obviously, I would get rid of the mechanical advance unit, install a metal bracket on the crankshaft end -with a metal prong-, and then a baseplate where the coil pickup would be installed, in such a way that there would be an impulse everytime the metal prong crosses in front of the pickup. I know from the GZ125 shop manual where the pickup is with regard to TDC, so I can get pretty close on the Sanglas and make slots on the baseplate for adjustment, like you would do on any electronic ignition.
Some food for thought. DG, you say that the advance depends on the lenght of the stroke. Obviously, if the piston goes from bottom to top with half a turn of the crankshaft, it makes (stroke) with 180º. The longer the stroke, the longer the distance-per-angle even when it is not linear -it advances faster at 90º and slower at 0º and 180º, if you can see the image of the piston going from botton to top, being bottom 0º, 90º when the crank arm is parallel to ground, and 180º when the piston is at TDC.
BUT, say you have two engines with different stroke lenghts, both running at the same RPM. As we are talking now angular rotation, not linear movement, it should take the same time for both engines to turn 5º, 6º or 40º. As the advance timing depends on time -advanced time you need to spark so the explosion occurs at TDC-, it should happen at the same angle from TDC irrespective of the stroke lenght, or at least that's how I see it. Isn't it?