git.asbjorn.biz
/
swftools.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
d2d02d8
)
added break_on_warning feature
author
kramm
<kramm>
Sun, 7 Jan 2007 20:27:51 +0000
(20:27 +0000)
committer
kramm
<kramm>
Sun, 7 Jan 2007 20:27:51 +0000
(20:27 +0000)
lib/pdf/GFXOutputDev.cc
patch
|
blob
|
history
lib/pdf/GFXOutputDev.h
patch
|
blob
|
history
diff --git
a/lib/pdf/GFXOutputDev.cc
b/lib/pdf/GFXOutputDev.cc
index
4a1c310
..
210f88d
100644
(file)
--- a/
lib/pdf/GFXOutputDev.cc
+++ b/
lib/pdf/GFXOutputDev.cc
@@
-141,7
+141,7
@@
typedef struct _feature
} feature_t;
feature_t*featurewarnings = 0;
} feature_t;
feature_t*featurewarnings = 0;
-static void showfeature(char*feature,char fully, char warn)
+void GFXOutputDev::showfeature(char*feature,char fully, char warn)
{
feature_t*f = featurewarnings;
while(f) {
{
feature_t*f = featurewarnings;
while(f) {
@@
-155,15
+155,19
@@
static void showfeature(char*feature,char fully, char warn)
featurewarnings = f;
if(warn) {
msg("<warning> %s not yet %ssupported!",feature,fully?"fully ":"");
featurewarnings = f;
if(warn) {
msg("<warning> %s not yet %ssupported!",feature,fully?"fully ":"");
+ if(this->config_break_on_warning) {
+ msg("<fatal> Aborting conversion due to unsupported feature");
+ exit(1);
+ }
} else {
} else {
- msg("<info> File contains %s",feature);
+ msg("<notice> File contains %s",feature);
}
}
}
}
-static void warnfeature(char*feature,char fully)
+void GFXOutputDev::warnfeature(char*feature,char fully)
{
showfeature(feature,fully,1);
}
{
showfeature(feature,fully,1);
}
-static void infofeature(char*feature)
+void GFXOutputDev::infofeature(char*feature)
{
showfeature(feature,0,0);
}
{
showfeature(feature,0,0);
}
@@
-255,18
+259,17
@@
GFXOutputDev::GFXOutputDev(parameter_t*p)
this->pages = 0;
this->pagebuflen = 0;
this->pagepos = 0;
this->pages = 0;
this->pagebuflen = 0;
this->pagepos = 0;
-
- this->forceType0Fonts=1;
this->config_use_fontconfig=1;
this->config_use_fontconfig=1;
+ this->config_break_on_warning=0;
this->parameters = p;
/* configure device */
while(p) {
this->parameters = p;
/* configure device */
while(p) {
- if(!strcmp(p->name,"forceType0Fonts")) {
- this->forceType0Fonts = atoi(p->value);
- } else if(!strcmp(p->name,"fontconfig")) {
+ if(!strcmp(p->name,"fontconfig")) {
this->config_use_fontconfig = atoi(p->value);
this->config_use_fontconfig = atoi(p->value);
+ } else if(!strcmp(p->name,"breakonwarning")) {
+ this->config_break_on_warning = atoi(p->value);
}
p = p->next;
}
}
p = p->next;
}
@@
-276,7
+279,7
@@
void GFXOutputDev::setDevice(gfxdevice_t*dev)
{
parameter_t*p = this->parameters;
{
parameter_t*p = this->parameters;
- /* TODO: get rid of this */
+ /* pass parameters to output device */
this->device = dev;
if(this->device) {
while(p) {
this->device = dev;
if(this->device) {
while(p) {
@@
-628,13
+631,13
@@
gfxline_t* gfxPath_to_gfxline(GfxState*state, GfxPath*path, int closed, int user
GBool GFXOutputDev::useTilingPatternFill()
{
GBool GFXOutputDev::useTilingPatternFill()
{
- warnfeature("tiled patterns", 1);
+ infofeature("tiled patterns");
return gFalse;
}
GBool GFXOutputDev::useShadedFills()
{
return gFalse;
}
GBool GFXOutputDev::useShadedFills()
{
- warnfeature("shaded fills", 1);
+ infofeature("shaded fills");
return gFalse;
}
return gFalse;
}
@@
-1900,7
+1903,7
@@
void GFXOutputDev::updateFont(GfxState *state)
if(embedded &&
(gfxFont->getType() == fontType1 ||
gfxFont->getType() == fontType1C ||
if(embedded &&
(gfxFont->getType() == fontType1 ||
gfxFont->getType() == fontType1C ||
- (gfxFont->getType() == fontCIDType0C && forceType0Fonts) ||
+ gfxFont->getType() == fontCIDType0C ||
gfxFont->getType() == fontTrueType ||
gfxFont->getType() == fontCIDType2
))
gfxFont->getType() == fontTrueType ||
gfxFont->getType() == fontCIDType2
))
@@
-2676,7
+2679,7
@@
void GFXOutputDev::paintTransparencyGroup(GfxState *state, double *bbox)
else {
char buffer[80];
sprintf(buffer, "%s blended transparency groups", blendmodes[state->getBlendMode()]);
else {
char buffer[80];
sprintf(buffer, "%s blended transparency groups", blendmodes[state->getBlendMode()]);
- warnfeature("transparency groups", 0);
+ warnfeature(buffer, 0);
}
gfxresult_t*grouprecording = states[statepos].grouprecording;
}
gfxresult_t*grouprecording = states[statepos].grouprecording;
diff --git
a/lib/pdf/GFXOutputDev.h
b/lib/pdf/GFXOutputDev.h
index
58ca015
..
0d8d4cf
100644
(file)
--- a/
lib/pdf/GFXOutputDev.h
+++ b/
lib/pdf/GFXOutputDev.h
@@
-202,6
+202,10
@@
public:
void clipToGfxLine(GfxState *state, gfxline_t*line);
void fillGfxLine(GfxState *state, gfxline_t*line);
void clipToGfxLine(GfxState *state, gfxline_t*line);
void fillGfxLine(GfxState *state, gfxline_t*line);
+ void showfeature(char*feature,char fully, char warn);
+ void warnfeature(char*feature,char fully);
+ void infofeature(char*feature);
+
char outer_clip_box; //whether the page clip box is still on
InfoOutputDev*info;
char outer_clip_box; //whether the page clip box is still on
InfoOutputDev*info;
@@
-256,8
+260,8
@@
public:
int pagepos;
/* config */
int pagepos;
/* config */
- int forceType0Fonts;
int config_use_fontconfig;
int config_use_fontconfig;
+ int config_break_on_warning;
parameter_t*parameters;
};
parameter_t*parameters;
};