Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2003-04-26 15:56:44 +0400
committerTon Roosendaal <ton@blender.org>2003-04-26 15:56:44 +0400
commit76fe6daa159a89a21b9005b66263de7f5e9d2299 (patch)
tree6108e9b0b783a14b1c66545d46700e312311ad8c /source/blender/blenkernel/intern/font.c
parente1d6502259c20b2511e293ce722365e5bfca9eaf (diff)
- another series of translated c files.
-Ton-
Diffstat (limited to 'source/blender/blenkernel/intern/font.c')
-rw-r--r--source/blender/blenkernel/intern/font.c57
1 files changed, 25 insertions, 32 deletions
diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
index 4cbc45ff401..5ea20224fb7 100644
--- a/source/blender/blenkernel/intern/font.c
+++ b/source/blender/blenkernel/intern/font.c
@@ -1,7 +1,5 @@
-/* font.c MIXED MODEL
- *
- * maart 95
+/* font.c
*
*
* $Id$
@@ -75,11 +73,6 @@
#include "BKE_curve.h"
#include "BKE_displist.h"
-/* Nieuwe opzet voor vectorfont:
- *
- * geen PDrawfont meer, alles meteen naar Nurb en BezTriple
- *
- */
struct chartrans {
float xof, yof;
@@ -224,7 +217,7 @@ static void buildchar(Curve *cu, unsigned char ascii, float ofsx, float ofsy, fl
vfd= vfont_get_data(cu->vfont);
if (!vfd) return;
- /* maak een kopie op afstand ofsx, ofsy met shear*/
+ /* make a copy at distance ofsx,ofsy with shear*/
fsize= cu->fsize;
shear= cu->shear;
si= (float)sin(rot);
@@ -316,8 +309,8 @@ struct chartrans *text_to_curve(Object *ob, int mode)
short cnr=0, lnr=0;
char ascii, *mem;
- /* opmerking: berekeningen altijd tot en met de '\0' van de string omdat
- de cursor op die plek moet kunnen staan */
+ /* renark: do calculations including the trailing '\0' of a string
+ because the cursor can be at that location */
if(ob->type!=OB_FONT) return 0;
@@ -330,7 +323,7 @@ struct chartrans *text_to_curve(Object *ob, int mode)
vfd= vfont_get_data(vfont);
if (!vfd) return 0;
- /* aantal regels tellen */
+ /* count number of lines */
mem= cu->str;
slen = strlen(mem);
cu->lines= 1;
@@ -339,7 +332,7 @@ struct chartrans *text_to_curve(Object *ob, int mode)
if(ascii== '\n' || ascii== '\r') cu->lines++;
}
- /* bereken ofset en rotatie van iedere letter */
+ /* calc offset and rotation of each char */
ct = chartransdata =
(struct chartrans*)MEM_callocN((slen+1)* sizeof(struct chartrans),"buildtext");
linedata= MEM_mallocN(sizeof(float)*cu->lines,"buildtext2");
@@ -358,7 +351,7 @@ struct chartrans *text_to_curve(Object *ob, int mode)
ct->linenr= lnr;
ct->charnr= cnr;
- /* alleen lege regels mogen kleiner dan 1 zijn */
+ /* only empty lines are allowed smaller than 1 */
if( linedist<1.0) {
if(i<slen && (cu->str[i+1]=='\r' || cu->str[i+1]=='\n')) yof-= linedist;
else yof-= 1.0;
@@ -393,7 +386,7 @@ struct chartrans *text_to_curve(Object *ob, int mode)
ct++;
}
- /* met alle fontsettings plekken letters berekenen */
+ /* with fontsettings calc locations of characters */
if(cu->spacemode!=CU_LEFT && lnr>1) {
ct= chartransdata;
@@ -444,14 +437,14 @@ struct chartrans *text_to_curve(Object *ob, int mode)
if(maxy<ct->yof) maxy= ct->yof;
}
- /* we zetten de x-coordinaat exact op de curve, de y wordt geroteerd */
+ /* we put the x-coordinaat exact at the curve, the y is rotated */
- /* de lengte correctie */
+ /* length correction */
distfac= sizefac*cucu->path->totdist/(maxx-minx);
timeofs= 0.0;
if(distfac > 1.0) {
- /* pad langer dan tekst: spacemode doet mee */
+ /* path longer than text: spacemode involves */
distfac= 1.0f/distfac;
if(cu->spacemode==CU_RIGHT) {
@@ -467,20 +460,20 @@ struct chartrans *text_to_curve(Object *ob, int mode)
distfac/= (maxx-minx);
- timeofs+= distfac*cu->xof; /* niet cyclic */
+ timeofs+= distfac*cu->xof; /* not cyclic */
ct= chartransdata;
for (i=0; i<=slen; i++, ct++) {
- /* roteren rond centrum letter */
+ /* rotate around centre character */
ascii = cu->str[i];
- dtime= distfac*0.35f*vfd->width[ascii]; /* Waarom is 0.5 te groot? */
- dtime= distfac*0.0f*vfd->width[ascii]; /* Waarom is 0.5 te groot? */
+ dtime= distfac*0.35f*vfd->width[ascii]; /* why not 0.5? */
+ dtime= distfac*0.0f*vfd->width[ascii]; /* why not 0.5? */
ctime= timeofs + distfac*( ct->xof - minx);
CLAMP(ctime, 0.0, 1.0);
-
- /* de goede plek EN de goede rotatie apart berekenen */
+
+ /* calc the right loc AND the right rot separately */
where_on_path(cu->textoncurve, ctime, vec, tvec);
where_on_path(cu->textoncurve, ctime+dtime, tvec, rotvec);
@@ -503,8 +496,8 @@ struct chartrans *text_to_curve(Object *ob, int mode)
if(mode==FO_CURSUP || mode==FO_CURSDOWN) {
- /* 2: curs omhoog
- 3: curs omlaag */
+ /* 2: curs up
+ 3: curs down */
ct= chartransdata+cu->pos;
if(mode==FO_CURSUP && ct->linenr==0);
@@ -513,7 +506,7 @@ struct chartrans *text_to_curve(Object *ob, int mode)
if(mode==FO_CURSUP) lnr= ct->linenr-1;
else lnr= ct->linenr+1;
cnr= ct->charnr;
- /* zoek karakter met lnr en cnr */
+ /* seek for char with lnr en cnr */
cu->pos= 0;
ct= chartransdata;
for (i= 0; i<slen; i++) {
@@ -528,7 +521,7 @@ struct chartrans *text_to_curve(Object *ob, int mode)
}
}
- /* eerst cursor */
+ /* cursor first */
if(ob==G.obedit) {
ct= chartransdata+cu->pos;
si= (float)sin(ct->rot);
@@ -551,7 +544,7 @@ struct chartrans *text_to_curve(Object *ob, int mode)
}
if(mode==0) {
- /* nurbdata maken */
+ /* make nurbdata */
freeNurblist(&cu->nurb);
@@ -611,7 +604,7 @@ void font_duplilist(Object *par)
Mat4CpyMat4(pmat, par->obmat);
- /* in par staat een familienaam, deze gebruiken om objecten te vinden */
+ /* in par the family name is stored, use this to find the other objects */
chartransdata= text_to_curve(par, FO_DUPLI);
if(chartransdata==0) return;
@@ -643,8 +636,8 @@ void font_duplilist(Object *par)
newob= MEM_mallocN(sizeof(Object), "newobj dupli");
memcpy(newob, ob, sizeof(Object));
newob->flag |= OB_FROMDUPLI;
- newob->id.newid= (ID *)par; /* duplicator bewaren */
- newob->totcol= par->totcol; /* voor give_current_material */
+ newob->id.newid= (ID *)par; /* keep duplicator */
+ newob->totcol= par->totcol; /* for give_current_material */
Mat4CpyMat4(newob->obmat, par->obmat);
VECCOPY(newob->obmat[3], vec);