summaryrefslogtreecommitdiff
path: root/devices/vector/gdevpsdp.c
diff options
context:
space:
mode:
Diffstat (limited to 'devices/vector/gdevpsdp.c')
-rw-r--r--devices/vector/gdevpsdp.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/devices/vector/gdevpsdp.c b/devices/vector/gdevpsdp.c
index cf6933ece..bd0016973 100644
--- a/devices/vector/gdevpsdp.c
+++ b/devices/vector/gdevpsdp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2022 Artifex Software, Inc.
+/* Copyright (C) 2001-2023 Artifex Software, Inc.
All Rights Reserved.
This software is provided AS-IS with no warranty, either express or
@@ -499,6 +499,12 @@ gdev_psdf_get_param(gx_device *dev, char *Param, void *list)
return(psdf_write_string_param(plist, "sRGBProfile",
&pdev->params.sRGBProfile));
}
+ if (strcmp(Param, ".AlwaysOutline") == 0) {
+ return(psdf_get_embed_param(plist, ".AlwaysOutline", &pdev->params.AlwaysOutline));
+ }
+ if (strcmp(Param, ".NeverOutline") == 0) {
+ return(psdf_get_embed_param(plist, ".NeverOutline", &pdev->params.NeverOutline));
+ }
if (strcmp(Param, ".AlwaysEmbed") == 0) {
return(psdf_get_embed_param(plist, ".AlwaysEmbed", &pdev->params.AlwaysEmbed));
}
@@ -598,6 +604,16 @@ gdev_psdf_get_params(gx_device * dev, gs_param_list * plist)
if (code < 0)
return code;
+ /* Font outlining parameters */
+
+ code = psdf_get_embed_param(plist, ".AlwaysOutline", &pdev->params.AlwaysOutline);
+ if (code < 0)
+ return code;
+
+ code = psdf_get_embed_param(plist, ".NeverOutline", &pdev->params.NeverOutline);
+ if (code < 0)
+ return code;
+
/* Font embedding parameters */
code = psdf_get_embed_param(plist, ".AlwaysEmbed", &pdev->params.AlwaysEmbed);
@@ -1117,6 +1133,8 @@ gdev_psdf_put_params(gx_device * dev, gs_param_list * plist)
params.ColorImage.ACSDict = params.ColorImage.Dict = 0;
params.GrayImage.ACSDict = params.GrayImage.Dict = 0;
params.MonoImage.ACSDict = params.MonoImage.Dict = 0;
+ params.AlwaysOutline.data = params.NeverOutline.data = NULL;
+ params.AlwaysOutline.size = params.NeverOutline.size = 0;
params.AlwaysEmbed.data = params.NeverEmbed.data = 0;
params.AlwaysEmbed.size = params.AlwaysEmbed.persistent = params.NeverEmbed.size = params.NeverEmbed.persistent = 0;
params.PSPageOptions.data = NULL;
@@ -1223,6 +1241,18 @@ gdev_psdf_put_params(gx_device * dev, gs_param_list * plist)
goto exit;
}
+ /* Font outlining parameters */
+
+ ecode = psdf_put_embed_param(plist, "~AlwaysOutline", ".AlwaysOutline",
+ &params.AlwaysOutline, mem, ecode);
+ ecode = psdf_put_embed_param(plist, "~NeverOutline", ".NeverOutline",
+ &params.NeverOutline, mem, ecode);
+
+ if (ecode < 0) {
+ code = ecode;
+ goto exit;
+ }
+
/* Font embedding parameters */
ecode = psdf_put_embed_param(plist, "~AlwaysEmbed", ".AlwaysEmbed",