Klaus Schmidinger wrote:
On 06/17/07 18:16, Anssi Hannula wrote:
Klaus Schmidinger wrote:
VDR developer version 1.5.4 is now available
- Now using 'fontconfig' to determine which fonts to use (thanks to Anssi Hannula
for code and hints on how to do this).
+ char *s = (char *)FcNameUnparse(fontset->fonts[i]);
+ if (s) {
+ // Strip i18n stuff:
+ char *p = strchr(s, ',');
+ if (p)
+ *p = 0;
Dropping everything after ',' seems correct, but AFAICS it should be
processed separately for the family name and style.
Currently, AFAICS,
DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
becomes
DejaVu Sans
while I think it should become
DejaVu Sans:style=Condensed Oblique
Looks like I don't have any font here that has a comma in its name,
so I hope I got this right.
Can you please verify the attached patch?
I don't really use VDR 1.5 yet, but I tried to run the attached test
program. However, it segfaults in *p = 0. I also tested the previous
implementation quoted above, and it segfaults similarly.
--
Anssi Hannula
#include <string.h>
#include <stdio.h>
int main() {
char *s = "DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique";
if (s) {
char *c = strchr(s, ':');
if (c) {
char *p = strchr(c+1 , ',');
if (p)
*p = 0;
}
char *p = strchr(s, ',');
if (p) {
if (c)
memmove(p, c, strlen(c) + 1);
else
*p = 0;
}
printf("%s\n", s);
}
}
_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr