Embedding Symbol Data Within Drawings

My understanding is that when you apply a texture or symbol, only the name and path of the element is stored in the document, but not the actually image data. Thus, when you give your .fcw file to someone who doesn't have the same textures/symbols, in the same relative location, they get red X's instead. For instance, if I use CSUAC symbols and they don't have them installed.

Is there a setting or command that will cause all the image data to be stored within the drawing file?

Comments

  • LoopysueLoopysue ProFantasy 🖼️ 39 images Cartographer
    I might be wrong, OldGuy, but I think there's a reason there isn't. Apart from the fact it would make the file simply HUGE, I think it kind of distributes the built in art a bit illegally. It may also be a bit illegal to re-distribute the CSUAC that way without the proper installer and the EULA - even though its 'free', if you see what I mean.

    But... I might be completely wrong on all counts :)
  • Actually, the size really isn't an issue unless you have an insane number of different symbols/textures. Autocad has had this capability for decades and I've never seen a file grow to become too ungainly. Note if you place 1,000 trees (for instance) all from the same symbol, only one copy of the symbol data needs to be stored in the file. It really doesn't add up to as much as you might think.

    As to the redistribution issue, we are already doing that. Anyone can take a screen shot of a map containing CSUAC symbols and obtain them that way. fortunately, in our community, people are generally honest and don't go out of their way to obtain symbols that way. Not to mention that they can simply download the CSUAC anyway.

    I just use CSUAC as an example. I'm hoping that the ability to store resource data exists in general. I have a great many public domain symbols that the recipient of a map file may not have. I'd like to be able to share maps, not just exported images, with folks who don't have all those resources installed (my dnd group for instance).
  • LoopysueLoopysue ProFantasy 🖼️ 39 images Cartographer
    I do have very large symbol sets, and I do tend to use a lot of them in the same map, but I take your point.

    This might sound like I'm splitting hairs, but I'm not. It was once explained to me that showing a screen shot of a symbol either in a map or in its folder to demonstrate a specific point is ok, but uploading the pngs is not. So I'm just extending that logically to suggest that it might be wrong to effectively send people the original pngs of a symbol set that belong to an annual, or a symbol set that the other person hasn't already purchased for themselves.

    This is just conjecture, though - my thoughts, and nothing more :)
  • ScottAScottA Surveyor
    Well, also, a screenshot of a symbol is not the symbol. For that, you would have to go in and remove the background at the very least. There may be a number of reasons you cannot actually embed symbols in a map (and perhaps you can but if so I have not seen or heard about it yet). I think Sue's idea that doing so would illegally allow people to have items which they would have to otherwise purchase is correct. If I were to embed all the symbols (and fills) from an annual, for example, and then pass that on to someone else they would then be getting that annual for free, basically, and not need to purchase it. And while suggesting that the mapping community is generally honest is a very nice thought, I don't know how realistic it is. Even intrinsically honest people might see something like getting "a few symbols on a map" for free not as theft, but the loss of revenue, no matter how small negatively impacts the company. Some may also think that such a thing is unfair -- why should I buy an annual if so-and-so is going to distribute those symbols for free?

    I do not work for nor speak for the company, and these are just my own assumptions, and possibly totally incorrect. I'm sure Remy or Ralf or Joe will be along soon enough to make a proper, company-based answer.
  • edited April 2018
    Sue is correct here. The symbols in the CSUAC are NOT in the public domain, so anyone sharing them would be in violation of the EULA. If someone wants the symbols, then they need to download them for themselves. You can alter those symbols for YOURSELF, but cannot alter them and share with others, again because they are not in the public domain. CSUAC stands for Cecil Solomon's Unified Art Collection. It is a free set of symbols made by various artists that have been collected and released for use in the various mapping software packages, FYI. This has been explained to me by Mark at the Vintyri Project, who put together the set to be downloaded for CC3+ when i had inquired about sharing symbols with a perspective client.
  • jslaytonjslayton Moderator, ProFantasy Mapmaker
    I can't speak for ProFantasy or their licensing philosophy. However, I can say that the CC3+ system doesn't support embedding PNG images as used in symbols directly into drawings. It only stores links to drawings and that feature is by design.
  • LoopysueLoopysue ProFantasy 🖼️ 39 images Cartographer
    This is a sort of tangential thought to the main topic, but I have this vision in my mind of a growing mountain of duplicate symbols building up on individual machines if maps are passed around with all the pngs packed.

    Maybe that's why its designed the way it is - to prevent total chaos and confusion about just exactly where 'Lamp post 99' was originally supposed to be stored, and where it came from - what the rights are, etc...
  • edited April 2018
    Posted By: jslaytonI can't speak for ProFantasy or their licensing philosophy. However, I can say that the CC3+ system doesn't support embedding PNG images as used in symbols directly into drawings. It only stores links to drawings and that feature is by design.
    Thanks for the response. I'm disappointed, but it's nice to have a definitive answer.

    @Others: Calm down. We all know what the CSUAC is. No one ever said that it is public domain, nor that it should be distributed beyond those authorized to do so. This process would NOT transfer symbols from one person to another. It would simply embed the symbol data into the drawing in order to prevent red Xs when the recipient views the .fcw file. This is really no different from just using symbols as we all do currently. Again, no symbols would ever be transferred.

    It's a moot point now, since the capability does not exist.
  • ScottAScottA Surveyor
    @OldGuy: I don't believe anyone was upset, so no one needs to "calm down." We were participating in a conversation. Even though you may already know what CSUAC is, some users do not and they may find the information useful. Your assumption is incorrect -- not everyone knows what CSUAC is. People do search the forums for answers to questions, so this may be helpful to someone one day.

  • @Others: Calm down. We all know what the CSUAC is. No one ever said that it is public domain, nor that it should be distributed beyond those authorized to do so. This process would NOT transfer symbols from one person to another. It would simply embed the symbol data into the drawing in order to prevent red Xs when the recipient views the .fcw file. This is really no different from just using symbols as we all do currently. Again, no symbols would ever be transferred.
    That's not as simple as it sounds. If it's in the drawing, I can copy it, and paste it into another drawing, or save it into a symbol catalog. It would require a lot more work to prevent that than just embedding the image in the save file.
  • edited April 2018
    Posted By: taustinocThat's not as simple as it sounds. If it's in the drawing, I can copy it, and paste it into another drawing, or save it into a symbol catalog. It would require a lot more work to prevent that than just embedding the image in the save file.
    There is a difference between a symbol and symbol data. Currently, when you insert a symbol into a drawing, you are merely inserting a link to the symbol data, which is contained on your computer. When you share that .fcw file with another cc3+ user, that drawing attempts to follow the link. If the recipient does not have symbol data, saved under the same name and in the same relative location, on their computer, the program will instead serve up a red X where that symbol (link) is located.

    By embedding symbol data within the drawing, the related symbol (i.e. the link) would retrieve symbol data from a location within the drawing, inaccessible to users, instead of the external source. The symbol data is NOT the same thing as the symbol. As you say, you can copy, move, duplicate, and export the symbol. But remember that any symbol within a drawing contains no data; it is merely a link to data. Without that data, the related symbol will only result in a red X. There is no similar command to move, copy, duplicate, export, or in any other way access the symbol data (were it to be added) so no redistribution of symbols would be possible.
  • I know how it works. And I understand what you would like.
    Posted By: OldGuyBy embedding symbol data within the drawing, the related symbol (i.e. the link) would retrieve symbol data from a location within the drawing, inaccessible to users,
    And there's the point: No, it's really not inaccessible to users, as the program is currently structured. You can copy a symbol, and paste it into a different drawing in a different instance of CC. When you do, you are copying the entirety of the symbol into memory. From the new drawing, you can save it into a symbol catalog. This is something that anyone with even a minimal mastery could figure out, and there are tutorials on how to do it.

    It would take a more extensive rewrite than to just embed the image in the save file.

    (It also does raise legal questions, because a lot of symbol collections, including CSUAC, allow you to distribute finished products, but not individual symbols as part of a collection. Whether or not this would constitute that is going to depend on who you ask, but I don't image Profantasy is interested in finding out. Plus, of course, anyone who has provided their artwork for use with CC has done so with a pretty explicit understanding that it won't work the way you want, and many would not appreciate an arbitrary change.)
  • Posted By: taustinocAnd there's the point: No, it's really not inaccessible to users, as the program is currently structured. You can copy a symbol, and paste it into a different drawingin a different instance of CC. When you do, you are copying the entirety of the symbol into memory. From the new drawing, you can save it into a symbol catalog. This is something that anyone with even a minimal mastery could figure out, and there are tutorials on how to do it.
    Please go back and read more carefully. There are only so many ways of saying that a symbol is not symbol data. Yes, a symbol is accessible, and can be copied. But symbol data would be inaccessible and could not be copied.
  • MonsenMonsen Administrator 🖼️ 46 images Cartographer
    edited April 2018
    Posted By: OldGuyYes, a symbol is accessible, and can be copied. But symbol data would be inaccessible and could not be copied.
    This is basically the opposite way of how CC3+ works though. It already embeds lots of symbol data in each drawing (the 'Symbol Definition' to use the proper term), and it is completely accessible to all users. This is why you can actually take any drawing out there and use it as a symbol catalog. (of course, anything could be coded differently, but this is basically how CC3+ works. Of course, since the images themselves aren't embedded, it is a moot point anyway)

    Embedding all the image data would make the .fcw huge though, just my basic overland tutorial map from the manual relies on 65MB of resources on disk, and that is a very simple map. You can check how much your map uses by running the IMAGENAMESDWG command on it to get a listing for exactly what it relies on, and the total size.
  • LoopysueLoopysue ProFantasy 🖼️ 39 images Cartographer
    Just out of curiosity I tried something, and discovered that its actually astonishingly easy to take anything you like out of a CC3 map by copying the displayed symbol and pasting it in another app. You don't have to have access to the original png. The symbol data is enough.

    This was copied from the CC3 map I'm working on right now, and pasted directly in GIMP. I had to reduce the size of the file by 50% to upload it, since the copied house was copied (and pasted) at full VH resolution - which would have made erasing the white background amazingly easy. I defaced the symbol, since uploading images like this makes me feel uncomfortable. Its not really ok by my own principles, but it fully demonstrates the problem with embedding graphics.

    They are just waaaaay too easy to... er... 'borrow' :P
  • MonsenMonsen Administrator 🖼️ 46 images Cartographer
    edited April 2018
    Posted By: LoopysueJust out of curiosity I tried something, and discovered that its actually astonishingly easy to take anything you like out of a CC3 map by copying the displayed symbol and pasting it in another app. You don't have to have access to the original png. The symbol data is enough.
    Well, you do have to have access to the original png. This is where CC3+ gets it data from so it can display the symbol and let you copy it in the first place. If you didn't have access to the png, CC3+ couldn't show you the symbol at all.
  • LoopysueLoopysue ProFantasy 🖼️ 39 images Cartographer
    Yes I worded that badly :)

    This is purely a hypothetical discussion now, since we know it can't be done anyway, but if symbols were embedded in the CC3 file, would it be possible to copy and paste them into GIMP in just the same way that I did with the house above?
  • MonsenMonsen Administrator 🖼️ 46 images Cartographer
    edited April 2018
    Assuming CC3+ works the way it does today, yes. If a feature was made to allow embedding images, it could of course be coded a way that it wasn't possible, but that would needlessly complicate things, because you actually want people to be able to copy and paste things from their .fcw's, so you would need one copy behavior if they had the backing image files, and another if they only had the embedded data, which would both complicate the code and confuse a lot of people when they could copy one symbol and not another. Just because some people can potentially perform a copyright violation with it doesn't mean it isn't a legitimate feature with legitimate uses, so you can't drop copying and pasting in general.
    (And let us not forget that the code for displaying images and the code for copying something are two completely different parts of the program, so to do prevent copying of certain elements, you would probably need a deep change to the program, this is probably NOT some easy fix, although Joe knows far more of the source code than I do, so he is the best one to give a definitive answer to that part)
  • LoopysueLoopysue ProFantasy 🖼️ 39 images Cartographer
    Copying and pasting is fine.

    I was thinking that it would be a seriously bad idea to ever create a facility to embed images in CC3 maps - if anything like that was ever in PF's collective mind ;)
  • MonsenMonsen Administrator 🖼️ 46 images Cartographer
    Posted By: LoopysueI was thinking that it would be a seriously bad idea to ever create a facility to embed images in CC3 maps
    That really depends. Most of the time, you don't share your fcw's anyway, you share the exported image, so when you do share the fcw, you kind of want people to see everything, so in that regard OldGuys request is very reasonable, and I think something many people would like to see. If you are planning to willfully commit copyright violation, you can just send someone your art files instead of the .fcw anyway.
    In the good old days of CC2, with only vector symbols, symbols where always completely embedded in the map. If I made a map in DD2 and sent it to someone with only CC2, they could still see the map just fine.
    I think the only bad thing about the embedding idea is the size of the maps it would generate. I have many maps that uses over 500MB in resources.
  • LoopysueLoopysue ProFantasy 🖼️ 39 images Cartographer
    Posted By: Monsen...If you are planning to willfully commit copyright violation, you can just send someone your art files instead of the .fcw anyway...
    This is very true :)
    Posted By: Monsen...I think the only bad thing about the embedding idea is the size of the maps it would generate. I have many maps that uses over 500MB in resources.
    Heavens! Merelan City is already borderline un-openable on my crappy machine. I think I'd have to give up mapping if I needed to embed everything! LOL!
  • jslaytonjslayton Moderator, ProFantasy Mapmaker
    Posted By: Monsen(And let us not forget that the code for displaying images and the code for copying something are two completely different parts of the program, so to do prevent copying of certain elements, you would probably need a deep change to the program, this is probably NOT some easy fix, although Joe knows far more of the source code than I do, so he is the best one to give a definitive answer to that part)
    Again, I can't say anything about the licensing position of ProFantasy. Implementation of technically-based license management in the software to allow embedding of PNG images would most definitely be a significant change to the software.
  • Posted By: OldGuy
    Please go back and read more carefully. There are only so many ways of saying that a symbol is not symbol data. Yes, a symbol is accessible, and can be copied. But symbol data would be inaccessible and could not be copied.
    What part of "yes, it can be copied" isn't clear? Your understanding of how CC currently works is incorrect. Not only can it be copied, it is so trivially easy it can be copied and put into a new symbol catalog by the average user with no special technical skill. To prevent this would require a lot of work rewriting the software, and would still raise a lot of licensing issues that Profantasy is far better off avoiding.
  • edited April 2018
    Posted By: taustinocWhat part of "yes, itcanbe copied" isn't clear? Your understanding of how CC currently works is incorrect. Not only can it be copied, it is so trivially easy it can be copied and put into a new symbol catalog by the average user with no special technical skill. To prevent this would require a lot of work rewriting the software, and would still raise a lot of licensing issues that Profantasy is far better off avoiding.
    I'm sorry you are having trouble with this, but since you don't believe me, please read Monsen's posts above (the undenied expert in all things cc3+). The symbols in the drawing do not contain the image. They only contain the 'symbol definition' (information on where the image is located and how to display it. You see the image when working on your computer because the image resides on your computer. If you move that file to a computer that does not have the image, you will see a red x instead. So, yes you can copy the symbol. But copying the symbol does not copy the image because the image is not contained within the symbol.
  • Posted By: OldGuy
    I'm sorry you are having trouble with this,
    I understand it perfectly well. You do not. You are simply wrong about how it works, and the degree of change that would be necessary to do what you want. If the image is embedded in the save file, and they do not rewrite the way copying from one instance to another works, it will paste into the other instance. (Actually, I expect they'd have to rewrite it pretty extensively to even accomplish that.)

    And even if it copied only the reference, when you save the second drawing, it would save the image in that save file, too. The only alternative is to remove the ability to copy from one instance of CC to another, which would annoy the hell out of a lot of people (and invalidate a lot of tutorials).

    And you can still take symbols from an open drawing and turn them into a symbol catalog of your very own. That, too, would have to be removed, again requiring a lot of work. And even more if it has to tell the difference between embedded symbols and those saved only as references.

    Now take a look at Loopysue's post up above on copying a symbol from CC and pasting it into a completely different program. That did not copy a reference to the file location, it copied the entire image.

    All that is aside from the legal issues.

    What you want isn't going to happen, for good reasons. Get over it.
  • MonsenMonsen Administrator 🖼️ 46 images Cartographer
    This is just boiling down to pointless arguing about the license side and potential abuse, which wasn't really the original question here at all, but rather about technical capabilities.

    The original question have been thoroughly answered, so I am closing this thread.
This discussion has been closed.