Activity for Peter Selinger

  • Peter Selinger Peter Selinger posted a comment on ticket #6

    Thanks for the suggestion. I ended up removing the Intel-specific tweaks altogether, since the code where it was used wasn't a performance bottleneck.

  • Peter Selinger Peter Selinger modified ticket #6

    I386 feature should not be enabled on non-x86 architecutre

  • Peter Selinger Peter Selinger modified ticket #30

    ps-crypt 1.11 breaks with development version of emacs

  • Peter Selinger Peter Selinger posted a comment on ticket #30

    At least (make-vector 31 0) doesn't seem to break anything for me, so I'm happy to make that change.

  • Peter Selinger Peter Selinger modified ticket #29

    Spelling error in manual page

  • Peter Selinger Peter Selinger posted a comment on ticket #29

    Thanks. This is a duplicate of 0020-man-page-spelling-error.patch in the Debian distribution. Will be fixed in the next release.

  • Peter Selinger Peter Selinger modified ticket #12

    Option to keep rather than wiping original files.

  • Peter Selinger Peter Selinger posted a comment on ticket #12

    Yes, and also, the method mentioned in my response to feature request 8 works, i.e., you can do ccrypt < infile > outfile. This of course presupposes that you are using an operating system that understands pipelines, like "<" and ">". Certainly Mac OS and Linux do; with Windows, it may depend on what kind of command line prompt you are using.

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    I don't know, but I kept a copy :) I just put it here: http://potrace.sourceforge.net/thirdparty/Mallard/

  • Peter Selinger Peter Selinger posted a comment on ticket #28

    I believe the failed test is caused by recent versions of the crypt3 library not being backward compatible. Please use the --disable-libcrypt configuration option (with ./configure). Then ccrypt will work correctly (although the crypt3 test may still fail). Also note that the crypt3 library is only used in unix-crypt mode, i.e., when ccrypt is used with the -u option. Hopefully this is extremely rarely used, as it's been about 25 years since unix crypt even existed. I'll remove this test and the...

  • Peter Selinger Peter Selinger posted a comment on ticket #5

    Great! I'm glad it worked out.

  • Peter Selinger Peter Selinger posted a comment on ticket #5

    OK, please watch this video: http://potrace.sourceforge.net/video/potrace-mac-install.mp4 If that still doesn't work, I recommend buying Image Vectorizer http://image-vectorizer.com/ . It's what people use on Macs.

  • Peter Selinger Peter Selinger posted a comment on ticket #5

    If you've successfully installed Potrace, you should be able to open up a Terminal (that's what the command prompt is called on a Mac) and type "potrace -v" in it. It should output the version number and some information about Potrace. Then you can use Potrace in exactly the same way as you did on Windows.

  • Peter Selinger Peter Selinger posted a comment on ticket #5

    That message is not related to Potrace. Apple is asking you to upgrade some software. You should ignore it, or not, but it has nothing to do with Potrace. In particular, it is not an error message. It is an informational message from Apple.

  • Peter Selinger Peter Selinger posted a comment on ticket #5

    When entering a password, it is normal for the password characters not to be shown on the screen. This is to prevent a person looking over your shoulders from seeing the password. You have to enter the password and press enter.

  • Peter Selinger Peter Selinger posted a comment on ticket #5

    Hi, thanks for writing and sorry for the delay in replying. I assume you've downloaded the file potrace-1.16.mac-x86_64.tar.gz, which is an archive containing a bunch of other files. Perhaps you are able to open this archive by double-clicking on it. Otherwise, you might try something like the following in a Terminal: cd ~/Downloads tar -zxf potrace-1.16.mac-x86_64.tar.gz cd potrace-1.16.mac-x86_64/ sudo bash cp potrace mkbitmap /usr/bin I don't have a Mac right now to try it on, so please let me...

  • Peter Selinger Peter Selinger posted a comment on ticket #11

    Hi NickSoft, thanks for writing. That feature request makes a lot of sense. You have probably already discovered the "-v" option, which tells you which file is currently being encrypted (but does not the progress within each file). That is useful if you are encrypting many files and you want to know how many are finished. Not so useful if you just have one gigantic file. ccrypt is so fast that I never needed a progress bar before for any kind of normal sized file. But indeed, disk dumps are a bit...

  • Peter Selinger Peter Selinger posted a comment on ticket #27

    At this point you are just flaming me. Here is the definition of "Encryption" from Wikipedia. The information you seem to be misunderstanding is right there in the 4th sentence: "In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can decipher a ciphertext back to plaintext and access the original information. Encryption...

  • Peter Selinger Peter Selinger posted a comment on ticket #27

    I have added this question to the FAQ. The reason it was not there is that nobody has asked this question before. Perhaps not everybody skips the documentation.

  • Peter Selinger Peter Selinger modified ticket #27

    Missing integrity protection

  • Peter Selinger Peter Selinger posted a comment on ticket #27

    As this is not a bug report, I am closing it.

  • Peter Selinger Peter Selinger posted a comment on ticket #27

    Yes, that is correct. The documentation also says this. From the man page: "On the other hand, ccrypt does not attempt to provide data integrity, i.e., it will not attempt to detect whether the ciphertext was modified after encryption. In particular, encrypted data can be truncated, leaving the corresponding decrypted data also truncated, but otherwise consistent. If one needs to ensure data integrity as well as secrecy, this can be achieved by other methods. The recommended method is to prepend...

  • Peter Selinger Peter Selinger posted a comment on discussion Open Discussion

    Hi Ashleigh, there is no particular reason, except that Potrace has been on Sourceforge since 2003. That was five years before Github existed, and two years before Git existed. Sourceforge has hosted and supported open source software long before Microsoft (the current owner of Github) jumped on this bandwagon. It has always worked well for my purposes, and I suppose I didn't have any reason to change it. Out of curiosity: is there any reason you prefer Gibhub over Gitlab, Bitbucket, or any of the...

  • Peter Selinger Peter Selinger posted a comment on ticket #4

    I don't know specific programs that do this either. But you could achieve replacing "<path d="M{x0} {y0} ..." by "<g transform="translate({x0},{y0})"><path d="M0 0 ..." with a relatively simple regular expression, such as sed 's/<path d="M\([0-9]*\) \([0-9]*\)/<g transform="translate(\1,\2)"><path d="M0 0/g' Just pipe the SVG output of Potrace through that command. You might have to add a few </g> tags as well, which can be done with a (more complicated) sed script, or an Awk script, or a Perl script,...

  • Peter Selinger Peter Selinger modified ticket #4

    Use <defs> in SVG?

  • Peter Selinger Peter Selinger posted a comment on ticket #4

    Hi Zvezdochiot, thanks for the suggestion. It sounds like this functionality could be implemented by modifying the output of Potrace, rather than modifying Potrace itself. I am guessing that there already exist some programs for manipulating SVG images that could do this, or it would be easy to write such a program. As such, I probably will not add this as a feature to Potrace.

  • Peter Selinger Peter Selinger posted a comment on ticket #3

    Hi Ray, thanks for writing. No, unfortunately Potrace does not offer centerline tracing. From the FAQ: Question: Does Potrace provide centerline tracing? Instead of tracing the contour of my image, I just want a single line in the center of each stroke. Answer: No, Potrace is not designed to do centerline tracing, and for technical reasons, it is unlikely that this will change in the near future. Algorithms used for centerline tracing are quite different than those used for outline tracing; it might...

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi Marc, Potrace does not output any stoked lines. It outputs filled areas. So setting a linewidth would not make sense. Best wishes, -- Peter

  • Peter Selinger Peter Selinger created a blog post

    Potrace 1.16 released

  • Peter Selinger Peter Selinger modified ticket #26

    different results depending on compiler optimizations

  • Peter Selinger Peter Selinger posted a comment on ticket #26

    P.S.: another reason the tolerances must be adjusted from time to time is variations in Ghostscript. The test suite uses Ghostscript to render the traced files, and then compares the image to the expected output. Even small changes in Ghostscript's antialiasing routines can therefore require a recalibration of the test suite (not Potrace itself). It doesn't look like this was the problem in your user's case, but I thought I'd mention it since it does affect the reproducibility of the test suite.

  • Peter Selinger Peter Selinger posted a comment on ticket #26

    Hi Martin, Potrace does use some floating point arithmetic, and due to rounding errors, the results can indeed depend on compiler optimizations (and presumably there might be a difference between 32-bit and 64-bit architectures as well, and between different compilers and OSs). One of the reasons is that processors internally use more than 64 bits to represent floating point numbers. Without compiler optimization, each intermediate result is converted to 64 bits, but with optimizations, the intermediate...

  • Peter Selinger Peter Selinger posted a comment on ticket #26

    In that case it means that I myself could not have performed Solution #2 either? (Compiling myself) I don't know. You have one decisive advantage, which is that you actually own a copy of Windows XP. I imagine that whatever compiler comes with XP would probably work. I haven't had a computer running XP in many years, so it is hard for me to test.

  • Peter Selinger Peter Selinger posted a comment on ticket #26

    Hi Spaceman, the problem is that likely I will not have access to an older compiler. But the changes to ccrypt in the last 15 years have been mostly compatibility updates, so there is nothing wrong in principle with using ccrypt 1.7. Is this the latest version that runs on XP? -- Peter

  • Peter Selinger Peter Selinger modified ticket #26

    ccrypt on Windows XP

  • Peter Selinger Peter Selinger posted a comment on ticket #26

    Thanks for reporting this. The error message likely means that the Windows XP kernel is too old to support this version of ccrypt. You have several options: (1) use an older precompiled version of ccrypt. You can find the older files here: http://ccrypt.sourceforge.net/download/ For example, release 1.7 from 2004 will most likely run on Windows XP. There have been no major bugfixes since 1.7, so this version will work just fine. (2) Compile it yourself from sources. This requires installing Cygwin...

  • Peter Selinger Peter Selinger modified ticket #25

    Too many </g> markers in SVG output

  • Peter Selinger Peter Selinger posted a comment on ticket #25

    OK, great. Thanks for confirming. I will close the ticket. Please feel free to open another one if you should encounter this issue again. (By the way, you need to use the --opaque and --group options to get multiple <g> tokens - this might help in replicating).

  • Peter Selinger Peter Selinger modified a comment on ticket #25

    Thanks for reporting this, but I am not able to reproduce this problem. Could you please post the command line arguments you used, and attach the resulting SVG file? When I try to run a similar example, I get: 1 token of the form <g transform="..." fill="..." stroke="..."> 33 tokens of the form <g> without attributes 34 tokens of the form </g> This seems like correct SVG to me. -- Peter Edit: the sourceforge editor inserted additional </g> tags in my message above. Correcting.

  • Peter Selinger Peter Selinger posted a comment on ticket #25

    Thanks for reporting this, but I am not able to reproduce this problem. Could you please post the command line arguments you used, and attach the resulting SVG file? When I try to run a similar example, I get: 1 token of the form <g stroke="..." transform="..." fill="..."></g> 33 tokens of the form <g> without attributes</g> 34 tokens of the form This seems like correct SVG to me. -- Peter

  • Peter Selinger Peter Selinger modified a comment on ticket #25

    Thanks for reporting this. I will fix this bug in the next release. It may be caused by an incompatibility between the GNU getopt library and the one included in cygwin. Meanwhile, please configure with ./configure --with-included-getopt This should make the problem go away. Thanks, -- Peter

  • Peter Selinger Peter Selinger posted a comment on ticket #25

    Thanks for reporting this. I will fix this bug in the next release. It may be caused by an incompatibility between the GNU getopt library and the one included in cygwin. Meanwhile, please configure with configure --with-included-getopt This should make the problem go away. Thanks, -- Peter

  • Peter Selinger Peter Selinger modified ticket #24

    ps-ccrypt broken on Emacs 26.1

  • Peter Selinger Peter Selinger posted a comment on ticket #24

    This was fixed in ccrypt 1.11.

  • Peter Selinger Peter Selinger created a blog post

    ccrypt 1.11 released

  • Peter Selinger Peter Selinger posted a comment on ticket #24

    Thanks for reporting this. I have not yet upgraded to Emacs 26, so I didn't experience this bug myself. I have put an updated version of ps-ccrypt.el here: http://ccrypt.sourceforge.net/#news I will release an updated version of ccrypt soon. -- Peter

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi Milad, the Potrace API is only for tracing. It doesn't deal with reading BMP files or writing SVG. You could use other existing libraries for these tasks (libbmp for reading BMP files? Cairo for outputting graphics?). Or you could somehow repurpose the code in bitmap_io.c and backend_svg.c. It's not designed as a library though, and it uses global variables, e.g., the info structure defined in main. It would require a bit of refactoring.

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi Milad, you can't automate this process within Potrace, but Inkscape has the ability to automatically convert color images by the process you describe (and using Potrace internally on each color), and you can save the result directly as a PDF or PNG. I hope this helps, -- Peter

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi Jan, that's an interesting question. As you have noticed, Potrace really only cares about the black parts; it considers white to be background. With --opaque, only interior background regions will be colored in. There is not easy solution within Potrace itself, as Potrace is not currently tailored to handle 3-way intersections (which you get where a black/white border hits the outside border of the image). One external solution is to load the black path (without --opaque) into SVG, create a white...

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi Jesper, I'm glad you were able to solve the problem. I have not encountered the LNK2019 error before, but it might be related to the difference between C and C++. They mangle the function names differently. Or maybe Visual Studio just didn't know where to find the .a file. For the record, on Windows 64-bit, when compiling with MinGW and then trying to use the libpotrace.a in Visual Studio, you can also sometimes get an LNK1223 error "file contains invalid .pdata contributions". This is related...

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi Jesper, I probably won't be able to offer much help in debugging your code, as I'm not a very proficient C++ programmer. The function page_svg() was not really intended to be used outside of Potrace; it relies on the global data structure "info" which is defined in main.c. Perhaps the problem is that you have not initialized the info structure. It seems that your info.unit is equal to 0, which would give a division by zero error (see the infinite scaling in your SVG file) and would set all pixels...

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi Gert, thanks for reporting this. (I receive your message 11 days after you sent it, which is probably another sourceforge problem). It seems that the problem has been resolved. -- Peter

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Dear Luc, thanks for writing. This will be really difficult for me to debug, because DXF is not a very well-documented format, and I don't have any "official" software for validating DXF files. Basically I developed the DXF backend with the help of a user who had an AutoCAD license, and we debugged it until AutoCAD would accept the output. It is quite possible that the authors of open source software to read DXF files have had the same problems I was having: trying to define a file format based on...

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Thanks for reporting. This is nothing to worry about. The tests check the accuracy of a PostScript of PDF image by comparing the output of Ghostscript to a reference image. Since the output of Ghostscript is not 100% reproducible, the tests have a certain amount of tolerance built in; in the case of the two failures, the tolerances were not quite enough. The attached patch fixes the issue, but you can also just safely ignore the failed tests.

  • Peter Selinger Peter Selinger modified ticket #7

    Popup input?

  • Peter Selinger Peter Selinger modified a comment on ticket #7

    Ccrypt itself does not do this, because it is a command line tool. However, you can easily write a script that prompts the user for the password via a GUI and then invokes ccrypt. For example, the attached is a simple Tcl/TK script (adapted from http://wiki.tcl.tk/3131) that prompts for a password and then echos the password to its standard output. You could pipe the password directly into ccrypt like this: wish getpass.tk | ccrypt -k- myfile This would encrypt the file "myfile" with the password...

  • Peter Selinger Peter Selinger posted a comment on ticket #7

    Ccrypt itself does not do this, because it is a command line tool. However, you can easily write a script that prompts the user for the password via a GUI and then invokes ccrypt. For example, the attached is a simple Tcl/TK script (adapted from http://wiki.tcl.tk/3131) that prompts for a password and then echos the password to its standard output. You could pipe the password directly into ccrypt like this: wish getpass.tk | ccrypt -k- myfile This would encrypt the file "myfile" with the password...

  • Peter Selinger Peter Selinger modified ticket #23

    heap-buffer-overflow /home/hsalo/src/potrace-1.15/src/bitmap.h:148 bm_dup

  • Peter Selinger Peter Selinger posted a comment on ticket #23

    OK, I'm closing this bug. It is normal for the program to have some memory unfreed when exiting with an error message.

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Do you have some sample EMF files that you could send me? Preferably with corresponding EPS or SVG files for comparison. Thanks, -- Peter

  • Peter Selinger Peter Selinger posted a comment on ticket #23

    Henri, I have been unable to reproduce this particular bug. What compiler options are you using? I used these steps: ./configure make CADD="-Wall -fsanitize=address" ./src/potrace -o /dev/null potrace-1.15-heap-buffer-overflow-bm_dup.sample and it is not reproducing it with potrace 1.15 (or 1.14). In either case I get the expected output "invalid ppm file". The same compiler option does reproduce your previous bug 22. Are you sure you attached the correct file? Thanks, -- Peter

  • Peter Selinger Peter Selinger posted a comment on ticket #20

    OK, thanks!

  • Peter Selinger Peter Selinger created a blog post

    Potrace 1.15 released

  • Peter Selinger Peter Selinger posted a comment on ticket #20

    Daniel, contrary to what I previously thought, I found that defining _XOPEN_SOURCE = 600 breaks the build on some other systems. I am considering using #define _POSIX_C_SOURCE 200809L instead. Could you please check whether this causes any problems on OS X? Thanks, -- Peter

  • Peter Selinger Peter Selinger modified ticket #22

    heap buffer overflow in interpolate_cubic in mkbitmap tool

  • Peter Selinger Peter Selinger posted a comment on ticket #22

    Thanks.

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Dear Aix, thanks for the suggestion. I don't know much about the EMF file format, as I am not much of a Windows user. I downloaded Microsoft's documentation for this file format, and it is 275 pages long. Unless there is a huge demand for such a backend, or unless someone else contributed it, it would probably take a very long time until I got around to writing it. Have you tried the SVG output instead of EPS? It seems that SVG is a very common vector file format these days, and there seem to be...

  • Peter Selinger Peter Selinger posted a comment on ticket #22

    Thanks for reporting this issue. It will be fixed in the next upstream release. Please confirm that the attached patch fixes the problem, and continue fuzzing! Thanks, -- Peter

  • Peter Selinger Peter Selinger modified ticket #19

    Mismatched getopt.h used

  • Peter Selinger Peter Selinger posted a comment on ticket #19

    Yes, moving getopt.h into a subdirectory seems to be a good solution. It will be...

  • Peter Selinger Peter Selinger modified a comment on ticket #19

    This is an interesting point. Normally, #include <getopt.h> should include the system-wide...

  • Peter Selinger Peter Selinger posted a comment on ticket #19

    This is an interesting point. Normally, #include <getopt.h> should include the system-wide...

  • Peter Selinger Peter Selinger modified ticket #20

    Missing #include

  • Peter Selinger Peter Selinger posted a comment on ticket #20

    Thanks for reporting this. The _XOPEN_SOURCE macro is defined by source code to declare...

  • Peter Selinger Peter Selinger created a blog post

    Potrace 1.14 released

  • Peter Selinger Peter Selinger modified ticket #21

    ps-ccrypt.el not working with Emacs 24.5.1

  • Peter Selinger Peter Selinger posted a comment on ticket #10

    Thanks for writing, and sorry for the delayed reply. The Android binaries on the...

  • Peter Selinger Peter Selinger modified ticket #22

    ccguess.c:623: loop wierdness ?

  • Peter Selinger Peter Selinger posted a comment on ticket #22

    This is indeed a bug. The --non-printable option will not work correctly. Thanks...

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi Bob, thanks for writing. Mkbitmap is for turning grayscale images into black and...

  • Peter Selinger Peter Selinger posted a comment on discussion Open Discussion

    Hi Oscar, it is relatively simple to make a library version of mkbitmap. I have made...

  • Peter Selinger Peter Selinger posted a comment on ticket #18

    Thansk! Will be fixed in the next release.

  • Peter Selinger Peter Selinger modified ticket #18

    Patch to improve compatibility with C++11

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi BH, that depends on how you have installed your 64-bit tool chain. I got mine...

  • Peter Selinger Peter Selinger created a blog post

    Potrace 1.13 released

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi BH, thanks for reporting this. However, I think it may be a bug in Cygwin, rather...

  • Peter Selinger Peter Selinger posted a comment on discussion Help

    Hi, this STL viewer is supposed to be open source. Where can I find the source code?...

  • Peter Selinger Peter Selinger modified ticket #4

    SMP under windows

  • Peter Selinger Peter Selinger modified ticket #3

    Suggestion regarding security

  • Peter Selinger Peter Selinger modified ticket #5

    ccrypt file format

  • Peter Selinger Peter Selinger posted a comment on ticket #5

    Hi, sorry for not replying sooner. I missed your request somehow. A brief technical...

1 >