You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
919B

  1. #!/bin/bash
  2. INKSCAPE="/Applications/Inkscape.app/Contents/Resources/bin/inkscape"
  3. if [ "x$1" = "x" ]
  4. then
  5. echo "Usage: $0 <IN-src.svg>"
  6. exit 1
  7. fi
  8. if [ ! -f "$1" ]
  9. then
  10. echo "No such file: $1"
  11. exit 1
  12. fi
  13. OUT_FILE=''
  14. if echo "$1" | perl -e '$_ = <stdin>; exit(!/-src\.svg$/i)'
  15. then
  16. OUT_FILE=`echo "$1" | perl -e '$_ = <stdin>; s/-src\.svg$/.svg/i; s/res-src\//res\//; print'`
  17. else
  18. echo "Input file must be named *-src.svg: $1"
  19. exit 1
  20. fi
  21. TMP_FILE="/tmp/svg_render_tmp.svg"
  22. < "$1" perl -e '$s = do { local $/; <STDIN> }; $s =~ s/<use[^<>\/]+id="\w+_(PARAM|INPUT|OUTPUT|LIGHT|WIDGET)"[^<>\/]+(\/\>|<\/use>)//gs; print $s' > "$TMP_FILE" && \
  23. "$INKSCAPE" -f "$TMP_FILE" \
  24. --verb EditSelectAll --verb SelectionUnGroup \
  25. --verb EditSelectAll --verb EditUnlinkClone \
  26. --verb EditSelectAll --verb ObjectToPath \
  27. --verb FileSave --verb FileQuit && \
  28. cp "$TMP_FILE" "$OUT_FILE" && \
  29. rm "$TMP_FILE"