]> granicus.if.org Git - imagemagick/commitdiff
Added fontFamily to the Image class of Magick++.
authordirk <dirk@git.imagemagick.org>
Sat, 1 Aug 2015 08:06:56 +0000 (08:06 +0000)
committerdirk <dirk@git.imagemagick.org>
Sat, 1 Aug 2015 08:06:56 +0000 (08:06 +0000)
Magick++/lib/Image.cpp
Magick++/lib/Magick++/Image.h
Magick++/lib/Magick++/Options.h
Magick++/lib/Options.cpp
MagickCore/draw.c
MagickWand/mogrify.c

index 37fd5487d2841c8263704c5c3998863f9db7a1fa..60098bdb486df95873f831bb6a820865043016aa 100644 (file)
@@ -849,6 +849,17 @@ std::string Magick::Image::font(void) const
   return(constOptions()->font());
 }
 
+void Magick::Image::fontFamily(const std::string &family_)
+{
+  modifyImage();
+  options()->fontFamily(family_);
+}
+
+std::string Magick::Image::fontFamily(void) const
+{
+  return(constOptions()->fontFamily());
+}
+
 void Magick::Image::fontPointsize(const double pointSize_)
 {
   modifyImage();
index 3c95ecd63256d60963746b6f3fbd3134aab33a8e..c9f895a3bd33634d0a40382675e9f97d674efcd4 100644 (file)
@@ -255,6 +255,10 @@ namespace Magick
     void font(const std::string &font_);
     std::string font(void) const;
 
+    // Font family
+    void fontFamily(const std::string &family_);
+    std::string fontFamily(void) const;
+
     // Font point size
     void fontPointsize(const double pointSize_);
     double fontPointsize(void) const;
index cc784b5ef71dde93d6c223b9541bffe598782055..eb3248706abf6f6b2a65d54c3f50713f631ba456 100644 (file)
@@ -117,6 +117,10 @@ namespace Magick
     void font(const std::string &font_);
     std::string font(void) const;
 
+    // Font name
+    void fontFamily(const std::string &family_);
+    std::string fontFamily(void) const;
+
     // Font point size
     void fontPointsize(double pointSize_);
     double fontPointsize(void) const;
index da0ea292148bbedd11d70551690026d7115eca04..29ee766bf1076c4456b83ea6bdf81b7e7106655f 100644 (file)
@@ -301,6 +301,28 @@ std::string Magick::Options::font(void) const
   return(std::string());
 }
 
+void Magick::Options::fontFamily(const std::string &family_)
+{
+  if (family_.length() == 0)
+    {
+      _drawInfo->family=(char *) RelinquishMagickMemory(_drawInfo->font);
+      (void) RemoveImageOption(imageInfo(),"family");
+    }
+  else
+    {
+      Magick::CloneString(&_drawInfo->family,family_);
+      (void) SetImageOption(imageInfo(),"family",family_.c_str());
+    }
+}
+
+std::string Magick::Options::fontFamily(void) const
+{
+  if (_drawInfo->family)
+    return(std::string(_drawInfo->family));
+  
+  return(std::string());
+}
+
 void Magick::Options::fontPointsize(double pointSize_)
 {
   _imageInfo->pointsize=pointSize_;
index a3d5db71f132cb15aa23a341487a51fc10dc6a15..5cb4d4da5c8aadd26faca821b9aafe81a5a27147 100644 (file)
@@ -4885,6 +4885,9 @@ MagickExport void GetDrawInfo(const ImageInfo *image_info,DrawInfo *draw_info)
   option=GetImageOption(clone_info,"encoding");
   if (option != (const char *) NULL)
     (void) CloneString(&draw_info->encoding,option);
+  option=GetImageOption(clone_info,"family");
+  if (option != (const char *) NULL)
+    (void) CloneString(&draw_info->family,option);
   option=GetImageOption(clone_info,"fill");
   if (option != (const char *) NULL)
     (void) QueryColorCompliance(option,AllCompliance,&draw_info->fill,
index 42f0b8af5492cc193a539d4ca9785f2115c06dc5..10f20135ddcb7cd0b8d813b8f5a9c2e10458cca2 100644 (file)
@@ -6835,6 +6835,12 @@ WandExport MagickBooleanType MogrifyImageInfo(ImageInfo *image_info,
       }
       case 'f':
       {
+        if (LocaleCompare("family",option+1) == 0)
+          {
+            if (*option != '+')
+              (void) SetImageOption(image_info,option+1,argv[i+1]);
+            break;
+          }
         if (LocaleCompare("fill",option+1) == 0)
           {
             if (*option == '+')