hey ben,
On Apr 4, 2006, at 12:08 PM, B. Bogart wrote:
This sounds really interesting, where can I get more info on what Johannes's has done?
...hmm, it's in Manips/vertex_program.cpp, specifically:
void vertex_program :: openMess(t_symbol *filename) { char buf2[MAXPDSTRING]; char *bufptr=NULL;
if(NULL==filename || NULL==filename->s_name || &s_==filename || 0==*filename->s_name)return;
// Clean up any open files closeMess();
int fd=-1; if ((fd=open_via_path(canvas_getdir(getCanvas())->s_name, filename-
s_name, "",
buf2, &bufptr, MAXPDSTRING, 1))>=0){ close(fd); sprintf(m_buf, "%s/%s", buf2, bufptr); } else canvas_makefilename(getCanvas(), filename->s_name, m_buf, MAXPDSTRING);
FILE *file = fopen(m_buf,"r"); if(file) { fseek(file,0,SEEK_END); int size = ftell(file); m_programString = new char[size + 1]; memset(m_programString,0,size + 1); fseek(file,0,SEEK_SET); fread(m_programString,1,size,file); fclose(file); } else { m_programString = new char[strlen(m_buf) + 1]; strcpy(m_programString,m_buf); } m_size=strlen(m_programString); m_programType=queryProgramtype(m_programString); if(m_programType==GEM_PROGRAM_none){ m_programID = 0; char *s = m_programString; while(*s && *s != '\n') s++; *s = '\0'; post("[%s]: unknown program header "%s" or error open "%s" file\n", m_objectname->s_name, m_programString,filename->s_name);
delete m_programString; m_programString=NULL; m_size=0; return; }
post("[%s]: Loaded file: %s\n", m_objectname->s_name, m_buf); }
...I think the part to focus on here would be "open_via_path()"...
Clearly it makes sense for pT to use the same font-handling setup as Gem.
though I'm not convinced by the fonts living in the extra/ path, since this is what I've been doing in pT and it only makes sense if Gem is distributed with fonts, pT still has only two, the ones that are distributed with Gem... Much more logical to allow Gem (or an abstraction) to deal with fonts on the system...
...the only fonts that are distributed with Gem are the ones in the examples/data folder, and the help files are setup to reference them there...but it makes more sense to have the normal pd paths looked in when search for a font: perhaps we should add the system fonts to (ie. /Library/Fonts, /System/Library/Fonts, ~/Library/Fonts )?
jamie
james tittle wrote:
On Apr 3, 2006, at 7:36 PM, Hans-Christoph Steiner wrote:
It seems that many parts of Pd use fonts: Gem, PDP/PiDiP, pixelTANGO, etc. It would be handy to have a centralized system for specifying where the fonts are located.
What about adding a fontpath var to Pd-core, like "path" and "helppath"?
...a fontpath would be good, but it'd also be nice if it just found them within the normal "path" setup: IOhannes has done something similar in Gem for finding programs/shaders, so I'll put this on the "to-do-0.91" for gem's font-handling...
jamie
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev