Merge remote-tracking branch 'origin/master'
Conflicts: ChangeLog configure.in
This commit is contained in:
commit
9cffb5f939
10
ChangeLog
10
ChangeLog
@ -1,3 +1,9 @@
|
||||
20/7/12 started 7.30.0
|
||||
- support "rs" mode in vips7
|
||||
- add --vips-version cmdline arg
|
||||
- fix --without-tiff / exr / jpeg / png / magick
|
||||
- add --vips-fatal flag
|
||||
|
||||
19/3/12 started 7.29.0
|
||||
- sanity-check PNG read geometry
|
||||
- nearest-neighbor interpolation rounds coordinates to nearest instead of
|
||||
@ -26,6 +32,10 @@
|
||||
- png save compression range was wrong
|
||||
- more/moreeq was wrong
|
||||
- vips7 ppm save with options was broken
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
- don't cache write operations
|
||||
>>>>>>> origin/master
|
||||
|
||||
18/6/12 started 7.28.9
|
||||
- slightly more memory debugging output
|
||||
|
@ -3,7 +3,7 @@
|
||||
if ENABLE_CXX
|
||||
C_COMPILE_DIR = libvipsCC
|
||||
C_DIST_DIR =
|
||||
C_PKGCONFIG = vipsCC-7.${VIPS_MINOR_VERSION}.pc
|
||||
C_PKGCONFIG = vipsCC.pc
|
||||
|
||||
# turn on Python if we can (requires C++)
|
||||
if HAVE_PYTHON
|
||||
@ -32,15 +32,15 @@ EXTRA_DIST = \
|
||||
m4 \
|
||||
benchmark \
|
||||
bootstrap.sh \
|
||||
vips-7.${VIPS_MINOR_VERSION}.pc.in \
|
||||
vipsCC-7.${VIPS_MINOR_VERSION}.pc.in \
|
||||
vips.pc.in \
|
||||
vipsCC.pc.in \
|
||||
acinclude.m4 \
|
||||
depcomp \
|
||||
$(C_DIST_DIR) \
|
||||
$(P_DIST_DIR)
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = vips-7.${VIPS_MINOR_VERSION}.pc $(C_PKGCONFIG)
|
||||
pkgconfig_DATA = vips.pc $(C_PKGCONFIG)
|
||||
|
||||
install-exec-hook:
|
||||
-rm -rf ${DESTDIR}$(datadir)/doc/vips
|
||||
|
15
configure.in
15
configure.in
@ -2,7 +2,7 @@
|
||||
|
||||
# also update the version number in the m4 macros below
|
||||
|
||||
AC_INIT([vips], [7.29.0], [vipsip@jiscmail.ac.uk])
|
||||
AC_INIT([vips], [7.30.0], [vipsip@jiscmail.ac.uk])
|
||||
# required for gobject-introspection
|
||||
AC_PREREQ(2.62)
|
||||
|
||||
@ -16,7 +16,7 @@ AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
# user-visible library versioning
|
||||
m4_define([vips_major_version], [7])
|
||||
m4_define([vips_minor_version], [29])
|
||||
m4_define([vips_minor_version], [30])
|
||||
m4_define([vips_micro_version], [0])
|
||||
m4_define([vips_version],
|
||||
[vips_major_version.vips_minor_version.vips_micro_version])
|
||||
@ -37,7 +37,7 @@ VIPS_VERSION_STRING=$VIPS_VERSION-`date`
|
||||
# binary interface changes not backwards compatible?: reset age to 0
|
||||
|
||||
LIBRARY_CURRENT=33
|
||||
LIBRARY_REVISION=2
|
||||
LIBRARY_REVISION=3
|
||||
LIBRARY_AGE=1
|
||||
|
||||
# patched into include/vips/version.h
|
||||
@ -218,7 +218,7 @@ if test x"$enable_cxx" != x"no"; then
|
||||
AC_DEFINE(ENABLE_CXX,1,[build C++ components])
|
||||
AM_CONDITIONAL(ENABLE_CXX, true)
|
||||
# need -lstdc++ for (eg.) the C++ format loaders
|
||||
# this gets added to vips-7.xx.pc to help mingw and friends link programs
|
||||
# this gets added to vips.pc to help mingw and friends link programs
|
||||
# using libvips
|
||||
VIPS_CXX_LIBS="-lstdc++"
|
||||
enable_cxx=yes
|
||||
@ -685,12 +685,9 @@ AC_SUBST(VIPS_LIBS)
|
||||
AC_SUBST(VIPS_CXX_LIBS)
|
||||
AC_SUBST(PACKAGES_USED)
|
||||
|
||||
# you'd think we could have
|
||||
# vips-$VIPS_MAJOR_VERSION.$VIPS_MINOR_VERSION.pc
|
||||
# in AC_OUTPUT, but that seems to break for some combinations of sh/m4
|
||||
AC_OUTPUT([
|
||||
vips-7.29.pc
|
||||
vipsCC-7.29.pc
|
||||
vips.pc
|
||||
vipsCC.pc
|
||||
Makefile
|
||||
libvips/include/vips/version.h
|
||||
libvips/include/Makefile
|
||||
|
@ -16,7 +16,7 @@
|
||||
\fancyhead[LE,RO]{\leftmark} % left-even, right-odd
|
||||
\fancyhead[RE,LO]{VIPS Manual} % right-even, left-odd
|
||||
\fancyfoot[LE,RO]{\thepage} % left-even, right-odd
|
||||
\fancyfoot[RE,LO]{February 2012}
|
||||
\fancyfoot[RE,LO]{July 2012}
|
||||
|
||||
\begin{document}
|
||||
|
||||
@ -27,14 +27,14 @@
|
||||
\begin{center}
|
||||
\huge
|
||||
VIPS Manual\\
|
||||
\large Version 7.28\\
|
||||
\large Version 7.30\\
|
||||
\vspace{0.5in}
|
||||
\large
|
||||
John Cupitt,
|
||||
Kirk Martinez\\
|
||||
\end{center}
|
||||
|
||||
VIPS is currently (v. 7.28, February 2012) in an API transition. The API as
|
||||
VIPS is currently (v. 7.30, July 2012) in an API transition. The API as
|
||||
documented in 7.24 is still complete and supported and is the one you should
|
||||
use. The 8.0 API is not yet done and may still change before completion.
|
||||
|
||||
|
@ -110,7 +110,7 @@ input_image_init( im_object *obj, char *str )
|
||||
{
|
||||
IMAGE **im = (IMAGE **) obj;
|
||||
|
||||
return( !(*im = vips__deprecated_open_read( str )) );
|
||||
return( !(*im = vips__deprecated_open_read( str, FALSE )) );
|
||||
}
|
||||
|
||||
/* Input image type.
|
||||
|
@ -53,7 +53,13 @@
|
||||
int
|
||||
im_exr2vips( const char *filename, IMAGE *out )
|
||||
{
|
||||
#ifdef HAVE_OPENEXR
|
||||
return( vips__openexr_read( filename, out ) );
|
||||
#else
|
||||
vips_error( "im_exr2vips", _( "no OpenEXR support in your libvips" ) );
|
||||
|
||||
return( -1 );
|
||||
#endif /*HAVE_OPENEXR*/
|
||||
}
|
||||
|
||||
static const char *exr_suffs[] = { ".exr", NULL };
|
||||
|
@ -58,6 +58,7 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
char mode[FILENAME_MAX];
|
||||
char *p, *q;
|
||||
int shrink;
|
||||
int seq;
|
||||
gboolean fail_on_warn;
|
||||
|
||||
/* By default, we ignore any warnings. We want to get as much of
|
||||
@ -70,6 +71,7 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
im_filename_split( name, filename, mode );
|
||||
p = &mode[0];
|
||||
shrink = 1;
|
||||
seq = 0;
|
||||
if( (q = im_getnextoption( &p )) ) {
|
||||
shrink = atoi( q );
|
||||
|
||||
@ -84,13 +86,9 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
if( im_isprefix( "fail", q ) )
|
||||
fail_on_warn = TRUE;
|
||||
}
|
||||
|
||||
/* vips__jpeg_read_file() is always sequential. Parse the option, but
|
||||
* don't use it.
|
||||
*/
|
||||
if( (q = im_getnextoption( &p )) ) {
|
||||
if( im_isprefix( "seq", q ) )
|
||||
;
|
||||
seq = 1;
|
||||
}
|
||||
|
||||
/* Don't use vips_jpegload() ... we call the jpeg func directly in
|
||||
@ -106,14 +104,21 @@ jpeg2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
*/
|
||||
|
||||
if( !header_only &&
|
||||
!seq &&
|
||||
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
||||
if( vips__image_wio_output( out ) )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
#ifdef HAVE_JPEG
|
||||
if( vips__jpeg_read_file( filename, out,
|
||||
header_only, shrink, fail_on_warn ) )
|
||||
return( -1 );
|
||||
#else
|
||||
vips_error( "im_jpeg2vips", _( "no JPEG support in your libvips" ) );
|
||||
|
||||
return( -1 );
|
||||
#endif /*HAVE_JPEG*/
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
@ -46,7 +46,14 @@
|
||||
int
|
||||
im_magick2vips( const char *filename, IMAGE *out )
|
||||
{
|
||||
#ifdef HAVE_MAGICK
|
||||
return( vips__magick_read( filename, out ) );
|
||||
#else
|
||||
vips_error( "im_magick2vips",
|
||||
_( "no libMagick support in your libvips" ) );
|
||||
|
||||
return( -1 );
|
||||
#endif /*HAVE_MAGICK*/
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -52,13 +52,15 @@ png2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
char filename[FILENAME_MAX];
|
||||
char mode[FILENAME_MAX];
|
||||
char *p, *q;
|
||||
int seq;
|
||||
|
||||
im_filename_split( name, filename, mode );
|
||||
|
||||
seq = 0;
|
||||
p = &mode[0];
|
||||
if( (q = im_getnextoption( &p )) ) {
|
||||
if( im_isprefix( "seq", q ) )
|
||||
;
|
||||
seq = 1;
|
||||
}
|
||||
|
||||
/* We need to be compatible with the pre-sequential mode
|
||||
@ -72,19 +74,26 @@ png2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
*/
|
||||
|
||||
if( !header_only &&
|
||||
!seq &&
|
||||
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
||||
if( vips__image_wio_output( out ) )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
#ifdef HAVE_PNG
|
||||
if( header_only ) {
|
||||
if( vips__png_read( filename, out ) )
|
||||
return( -1 );
|
||||
}
|
||||
else {
|
||||
if( vips__png_header( filename, out ) )
|
||||
return( -1 );
|
||||
}
|
||||
else {
|
||||
if( vips__png_read( filename, out ) )
|
||||
return( -1 );
|
||||
}
|
||||
#else
|
||||
vips_error( "im_png2vips", _( "no PNG support in your libvips" ) );
|
||||
|
||||
return( -1 );
|
||||
#endif /*HAVE_PNG*/
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
@ -57,17 +57,19 @@ tiff2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
char mode[FILENAME_MAX];
|
||||
char *p, *q;
|
||||
int page;
|
||||
int seq;
|
||||
|
||||
im_filename_split( name, filename, mode );
|
||||
|
||||
page = 0;
|
||||
seq = 0;
|
||||
p = &mode[0];
|
||||
if( (q = im_getnextoption( &p )) ) {
|
||||
page = atoi( q );
|
||||
}
|
||||
if( (q = im_getnextoption( &p )) ) {
|
||||
if( im_isprefix( "seq", q ) )
|
||||
;
|
||||
seq = 1;
|
||||
}
|
||||
|
||||
/* We need to be compatible with the pre-sequential mode
|
||||
@ -82,12 +84,14 @@ tiff2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
*/
|
||||
|
||||
if( !header_only &&
|
||||
!seq &&
|
||||
!vips__istifftiled( filename ) &&
|
||||
out->dtype == VIPS_IMAGE_PARTIAL ) {
|
||||
if( vips__image_wio_output( out ) )
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
#ifdef HAVE_TIFF
|
||||
if( header_only ) {
|
||||
if( vips__tiff_read_header( filename, out, page ) )
|
||||
return( -1 );
|
||||
@ -96,6 +100,11 @@ tiff2vips( const char *name, IMAGE *out, gboolean header_only )
|
||||
if( vips__tiff_read( filename, out, page ) )
|
||||
return( -1 );
|
||||
}
|
||||
#else
|
||||
vips_error( "im_tiff2vips", _( "no TIFF support in your libvips" ) );
|
||||
|
||||
return( -1 );
|
||||
#endif /*HAVE_TIFF*/
|
||||
|
||||
return( 0 );
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ typedef struct {
|
||||
VipsImage *image;
|
||||
VipsFormatClass *format;/* Read in pixels with this */
|
||||
char *filename; /* Get pixels from here */
|
||||
gboolean disc; /* Read via disc requested */
|
||||
gboolean sequential; /* Sequential read requested */
|
||||
|
||||
VipsImage *real; /* The real decompressed image */
|
||||
} Lazy;
|
||||
@ -80,7 +80,7 @@ lazy_free_cb( VipsImage *image, Lazy *lazy )
|
||||
|
||||
static Lazy *
|
||||
lazy_new( VipsImage *image,
|
||||
VipsFormatClass *format, const char *filename, gboolean disc )
|
||||
VipsFormatClass *format, const char *filename, gboolean sequential )
|
||||
{
|
||||
Lazy *lazy;
|
||||
|
||||
@ -89,7 +89,7 @@ lazy_new( VipsImage *image,
|
||||
lazy->image = image;
|
||||
lazy->format = format;
|
||||
lazy->filename = g_strdup( filename );
|
||||
lazy->disc = disc;
|
||||
lazy->sequential = sequential;
|
||||
lazy->real = NULL;
|
||||
g_signal_connect( image, "close", G_CALLBACK( lazy_free_cb ), lazy );
|
||||
|
||||
@ -132,13 +132,13 @@ lazy_real_image( Lazy *lazy )
|
||||
VipsImage *real;
|
||||
|
||||
/* We open via disc if:
|
||||
* - 'disc' is set
|
||||
* - 'sequential' is not set
|
||||
* - disc_threshold() has not been set to zero
|
||||
* - the format does not support lazy read
|
||||
* - the uncompressed image will be larger than disc_threshold()
|
||||
*/
|
||||
real = NULL;
|
||||
if( lazy->disc &&
|
||||
if( !lazy->sequential &&
|
||||
disc_threshold() &&
|
||||
!(vips_format_get_flags( lazy->format, lazy->filename ) &
|
||||
VIPS_FORMAT_PARTIAL) &&
|
||||
@ -203,11 +203,11 @@ open_lazy_generate( VipsRegion *or,
|
||||
*/
|
||||
static int
|
||||
vips_image_open_lazy( VipsImage *image,
|
||||
VipsFormatClass *format, const char *filename, gboolean disc )
|
||||
VipsFormatClass *format, const char *filename, gboolean sequential )
|
||||
{
|
||||
Lazy *lazy;
|
||||
|
||||
lazy = lazy_new( image, format, filename, disc );
|
||||
lazy = lazy_new( image, format, filename, sequential );
|
||||
|
||||
/* Is there a ->header() function? We need to do a lazy load.
|
||||
*/
|
||||
@ -273,7 +273,7 @@ vips_attach_save( VipsImage *image, int (*save_fn)(), const char *filename )
|
||||
}
|
||||
|
||||
IMAGE *
|
||||
vips__deprecated_open_read( const char *filename )
|
||||
vips__deprecated_open_read( const char *filename, gboolean sequential )
|
||||
{
|
||||
VipsFormatClass *format;
|
||||
|
||||
@ -293,7 +293,8 @@ vips__deprecated_open_read( const char *filename )
|
||||
IMAGE *image;
|
||||
|
||||
image = vips_image_new();
|
||||
if( vips_image_open_lazy( image, format, filename, TRUE ) ) {
|
||||
if( vips_image_open_lazy( image, format,
|
||||
filename, sequential ) ) {
|
||||
g_object_unref( image );
|
||||
return( NULL );
|
||||
}
|
||||
|
@ -62,10 +62,16 @@ im_open( const char *filename, const char *mode )
|
||||
|
||||
/* We have to go via the old VipsFormat system so we can support the
|
||||
* "filename:option" syntax.
|
||||
*
|
||||
* Use "rs" to turn on seq mode.
|
||||
*/
|
||||
if( strcmp( mode, "r" ) == 0 ||
|
||||
strcmp( mode, "rd" ) == 0 ) {
|
||||
if( !(image = vips__deprecated_open_read( filename )) )
|
||||
if( !(image = vips__deprecated_open_read( filename, FALSE )) )
|
||||
return( NULL );
|
||||
}
|
||||
else if( strcmp( mode, "rs" ) == 0 ) {
|
||||
if( !(image = vips__deprecated_open_read( filename, TRUE )) )
|
||||
return( NULL );
|
||||
}
|
||||
else if( strcmp( mode, "w" ) == 0 ) {
|
||||
|
@ -890,7 +890,7 @@ vips_foreign_load_build( VipsObject *object )
|
||||
}
|
||||
|
||||
static VipsOperationFlags
|
||||
vips_foreign_load_real_get_flags( VipsOperation *operation )
|
||||
vips_foreign_load_operation_get_flags( VipsOperation *operation )
|
||||
{
|
||||
VipsForeignLoad *load = VIPS_FOREIGN_LOAD( operation );
|
||||
VipsOperationFlags flags;
|
||||
@ -920,7 +920,7 @@ vips_foreign_load_class_init( VipsForeignLoadClass *class )
|
||||
object_class->nickname = "fileload";
|
||||
object_class->description = _( "file loaders" );
|
||||
|
||||
operation_class->get_flags = vips_foreign_load_real_get_flags;
|
||||
operation_class->get_flags = vips_foreign_load_operation_get_flags;
|
||||
|
||||
VIPS_ARG_IMAGE( class, "out", 2,
|
||||
_( "Output" ),
|
||||
@ -1428,6 +1428,10 @@ vips_foreign_save_class_init( VipsForeignSaveClass *class )
|
||||
*/
|
||||
operation_class->flags |= VIPS_OPERATION_SEQUENTIAL;
|
||||
|
||||
/* Must not cache savers.
|
||||
*/
|
||||
operation_class->flags |= VIPS_OPERATION_NOCACHE;
|
||||
|
||||
/* Default to no coding allowed.
|
||||
*/
|
||||
for( i = 0; i < VIPS_CODING_LAST; i++ )
|
||||
|
@ -66,6 +66,10 @@ extern int vips__thinstrip_height;
|
||||
*/
|
||||
extern int vips__concurrency;
|
||||
|
||||
/* abort() on any error.
|
||||
*/
|
||||
extern int vips__fatal;
|
||||
|
||||
/* Give progress feedback.
|
||||
*/
|
||||
extern int vips__progress;
|
||||
@ -297,7 +301,7 @@ void vips_foreign_operation_init( void );
|
||||
|
||||
guint64 vips__parse_size( const char *size_string );
|
||||
|
||||
IMAGE *vips__deprecated_open_read( const char *filename );
|
||||
IMAGE *vips__deprecated_open_read( const char *filename, gboolean sequential );
|
||||
IMAGE *vips__deprecated_open_write( const char *filename );
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -96,8 +96,7 @@ typedef struct _VipsOperationClass {
|
||||
*/
|
||||
void (*usage)( struct _VipsOperationClass *, VipsBuf * );
|
||||
|
||||
/* Return a set of operation flags. If @get_flags is NULL, just use
|
||||
* flags.
|
||||
/* Return a set of operation flags.
|
||||
*/
|
||||
VipsOperationFlags (*get_flags)( VipsOperation * );
|
||||
VipsOperationFlags flags;
|
||||
|
@ -155,6 +155,9 @@ vips_verror( const char *domain, const char *fmt, va_list ap )
|
||||
g_mutex_unlock( vips__global_lock );
|
||||
|
||||
VIPS_DEBUG_MSG( "vips_verror: %s\n", fmt );
|
||||
|
||||
if( vips__fatal )
|
||||
vips_error_exit( "vips__fatal" );
|
||||
}
|
||||
|
||||
/**
|
||||
@ -363,6 +366,9 @@ vips_vwarn( const char *domain, const char *fmt, va_list ap )
|
||||
(void) fprintf( stderr, "\n" );
|
||||
g_mutex_unlock( vips__global_lock );
|
||||
}
|
||||
|
||||
if( vips__fatal )
|
||||
vips_error_exit( "vips__fatal" );
|
||||
}
|
||||
|
||||
/**
|
||||
@ -421,7 +427,10 @@ vips_error_exit( const char *fmt, ... )
|
||||
|
||||
vips_shutdown();
|
||||
|
||||
exit( 1 );
|
||||
if( vips__fatal )
|
||||
abort();
|
||||
else
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -80,6 +80,10 @@
|
||||
#include <vips/internal.h>
|
||||
#include <vips/vector.h>
|
||||
|
||||
/* abort() on the first warning or error.
|
||||
*/
|
||||
int vips__fatal = 0;
|
||||
|
||||
/* Use in various small places where we need a mutex and it's not worth
|
||||
* making a private one.
|
||||
*/
|
||||
@ -365,20 +369,50 @@ vips__ngettext( const char *msgid, const char *plural, unsigned long int n )
|
||||
return( dngettext( GETTEXT_PACKAGE, msgid, plural, n ) );
|
||||
}
|
||||
|
||||
static gboolean
|
||||
vips_lib_version_cb( const gchar *option_name, const gchar *value,
|
||||
gpointer data, GError **error )
|
||||
{
|
||||
printf( "libvips %s\n", VIPS_VERSION_STRING );
|
||||
vips_shutdown();
|
||||
exit( 0 );
|
||||
}
|
||||
|
||||
static gboolean
|
||||
vips_set_fatal_cb( const gchar *option_name, const gchar *value,
|
||||
gpointer data, GError **error )
|
||||
{
|
||||
vips__fatal = 1;
|
||||
|
||||
/* Set masks for debugging ... stop on any problem.
|
||||
*/
|
||||
g_log_set_always_fatal(
|
||||
G_LOG_FLAG_RECURSION |
|
||||
G_LOG_FLAG_FATAL |
|
||||
G_LOG_LEVEL_ERROR |
|
||||
G_LOG_LEVEL_CRITICAL |
|
||||
G_LOG_LEVEL_WARNING );
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
static GOptionEntry option_entries[] = {
|
||||
{ "vips-fatal", 'f', G_OPTION_FLAG_HIDDEN | G_OPTION_FLAG_NO_ARG,
|
||||
G_OPTION_ARG_CALLBACK, (gpointer) &vips_set_fatal_cb,
|
||||
N_( "abort on first error or warning" ), NULL },
|
||||
{ "vips-concurrency", 'c', 0,
|
||||
G_OPTION_ARG_INT, &vips__concurrency,
|
||||
N_( "evaluate with N concurrent threads" ), "N" },
|
||||
{ "vips-tile-width", 'w', 0,
|
||||
{ "vips-tile-width", 'w', G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_INT, &vips__tile_width,
|
||||
N_( "set tile width to N (DEBUG)" ), "N" },
|
||||
{ "vips-tile-height", 'h', 0,
|
||||
{ "vips-tile-height", 'h', G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_INT, &vips__tile_height,
|
||||
N_( "set tile height to N (DEBUG)" ), "N" },
|
||||
{ "vips-thinstrip-height", 't', 0,
|
||||
{ "vips-thinstrip-height", 't', G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_INT, &vips__thinstrip_height,
|
||||
N_( "set thinstrip height to N (DEBUG)" ), "N" },
|
||||
{ "vips-fatstrip-height", 'f', 0,
|
||||
{ "vips-fatstrip-height", 'f', G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_INT, &vips__fatstrip_height,
|
||||
N_( "set fatstrip height to N (DEBUG)" ), "N" },
|
||||
{ "vips-progress", 'p', 0,
|
||||
@ -408,6 +442,9 @@ static GOptionEntry option_entries[] = {
|
||||
{ "vips-cache-dump", 'r', 0,
|
||||
G_OPTION_ARG_NONE, &vips__cache_dump,
|
||||
N_( "dump operation cache on exit" ), NULL },
|
||||
{ "vips-version", 'v', G_OPTION_FLAG_NO_ARG,
|
||||
G_OPTION_ARG_CALLBACK, (gpointer) &vips_lib_version_cb,
|
||||
N_( "print libvips version" ), NULL },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
|
BIN
po/en_GB.gmo
BIN
po/en_GB.gmo
Binary file not shown.
188
po/vips7.pot
188
po/vips7.pot
@ -9,7 +9,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=glib&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2012-07-13 14:50+0100\n"
|
||||
"POT-Creation-Date: 2012-07-20 15:34+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -352,11 +352,11 @@ msgstr ""
|
||||
msgid "Height of extract area"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/arithmetic/math2.c:196
|
||||
#: ../libvips/arithmetic/math2.c:198
|
||||
msgid "pow( left, right)"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/arithmetic/math2.c:204 ../libvips/arithmetic/math2.c:401
|
||||
#: ../libvips/arithmetic/math2.c:206 ../libvips/arithmetic/math2.c:403
|
||||
#: ../libvips/arithmetic/complex.c:222 ../libvips/arithmetic/complex.c:476
|
||||
#: ../libvips/arithmetic/math.c:205 ../libvips/arithmetic/relational.c:227
|
||||
#: ../libvips/arithmetic/relational.c:560 ../libvips/arithmetic/boolean.c:217
|
||||
@ -364,12 +364,12 @@ msgstr ""
|
||||
msgid "Operation"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/arithmetic/math2.c:205 ../libvips/arithmetic/math2.c:402
|
||||
#: ../libvips/arithmetic/math2.c:207 ../libvips/arithmetic/math2.c:404
|
||||
#: ../libvips/arithmetic/math.c:206
|
||||
msgid "math to perform"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/arithmetic/math2.c:393
|
||||
#: ../libvips/arithmetic/math2.c:395
|
||||
msgid "pow( @in, @c )"
|
||||
msgstr ""
|
||||
|
||||
@ -397,7 +397,7 @@ msgstr ""
|
||||
#: ../libvips/conversion/rot.c:355 ../libvips/conversion/replicate.c:196
|
||||
#: ../libvips/conversion/tilecache.c:446 ../libvips/conversion/embed.c:524
|
||||
#: ../libvips/conversion/cache.c:106 ../libvips/conversion/recomb.c:203
|
||||
#: ../libvips/conversion/sequential.c:153 ../libvips/foreign/foreign.c:1438
|
||||
#: ../libvips/conversion/sequential.c:168 ../libvips/foreign/foreign.c:1442
|
||||
#: ../libvips/resample/resample.c:89
|
||||
msgid "Input"
|
||||
msgstr ""
|
||||
@ -466,7 +466,7 @@ msgstr ""
|
||||
msgid "Vertical position of minimum"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/arithmetic/im_point_bilinear.c:74
|
||||
#: ../libvips/arithmetic/im_point_bilinear.c:75
|
||||
msgid "coords outside image"
|
||||
msgstr ""
|
||||
|
||||
@ -569,7 +569,7 @@ msgstr ""
|
||||
#: ../libvips/conversion/copy.c:322 ../libvips/conversion/rot.c:356
|
||||
#: ../libvips/conversion/replicate.c:197 ../libvips/conversion/tilecache.c:447
|
||||
#: ../libvips/conversion/embed.c:525 ../libvips/conversion/cache.c:107
|
||||
#: ../libvips/conversion/sequential.c:154
|
||||
#: ../libvips/conversion/sequential.c:169
|
||||
msgid "Input image"
|
||||
msgstr ""
|
||||
|
||||
@ -798,7 +798,7 @@ msgid "flatten alpha out of an image"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/flatten.c:381 ../libvips/conversion/join.c:250
|
||||
#: ../libvips/conversion/insert.c:390
|
||||
#: ../libvips/conversion/insert.c:392
|
||||
msgid "Background"
|
||||
msgstr ""
|
||||
|
||||
@ -829,7 +829,7 @@ msgstr ""
|
||||
msgid "bad extract area"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/extract.c:190
|
||||
#: ../libvips/conversion/extract.c:191
|
||||
msgid "extract an area from an image"
|
||||
msgstr ""
|
||||
|
||||
@ -1023,11 +1023,11 @@ msgstr ""
|
||||
msgid "Join left-right or up-down"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/join.c:236 ../libvips/conversion/insert.c:383
|
||||
#: ../libvips/conversion/join.c:236 ../libvips/conversion/insert.c:385
|
||||
msgid "Expand"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/join.c:237 ../libvips/conversion/insert.c:384
|
||||
#: ../libvips/conversion/join.c:237 ../libvips/conversion/insert.c:386
|
||||
msgid "Expand output to hold all of both inputs"
|
||||
msgstr ""
|
||||
|
||||
@ -1039,7 +1039,7 @@ msgstr ""
|
||||
msgid "Pixels between images"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/join.c:251 ../libvips/conversion/insert.c:391
|
||||
#: ../libvips/conversion/join.c:251 ../libvips/conversion/insert.c:393
|
||||
msgid "Colour for new pixels"
|
||||
msgstr ""
|
||||
|
||||
@ -1068,39 +1068,39 @@ msgstr ""
|
||||
msgid "vectors not same length"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:349
|
||||
#: ../libvips/conversion/insert.c:353
|
||||
msgid "insert an image"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:357
|
||||
#: ../libvips/conversion/insert.c:359
|
||||
msgid "Main"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:358
|
||||
#: ../libvips/conversion/insert.c:360
|
||||
msgid "Main input image"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:363
|
||||
#: ../libvips/conversion/insert.c:365
|
||||
msgid "Sub-image"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:364
|
||||
#: ../libvips/conversion/insert.c:366
|
||||
msgid "Sub-image to insert into main image"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:369
|
||||
#: ../libvips/conversion/insert.c:371
|
||||
msgid "X"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:370
|
||||
#: ../libvips/conversion/insert.c:372
|
||||
msgid "Left edge of sub in main"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:376
|
||||
#: ../libvips/conversion/insert.c:378
|
||||
msgid "Y"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/insert.c:377
|
||||
#: ../libvips/conversion/insert.c:379
|
||||
msgid "Top edge of sub in main"
|
||||
msgstr ""
|
||||
|
||||
@ -1225,13 +1225,13 @@ msgstr ""
|
||||
msgid "matrix of coefficients"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/sequential.c:86
|
||||
#: ../libvips/conversion/sequential.c:83
|
||||
#, c-format
|
||||
msgid ""
|
||||
"non-sequential read --- at position %d in file, but position %d requested"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/conversion/sequential.c:149
|
||||
#: ../libvips/conversion/sequential.c:164
|
||||
msgid "check sequential access"
|
||||
msgstr ""
|
||||
|
||||
@ -1289,7 +1289,7 @@ msgstr ""
|
||||
#: ../libvips/foreign/jpegload.c:245 ../libvips/foreign/rawload.c:115
|
||||
#: ../libvips/foreign/matload.c:128 ../libvips/foreign/fitssave.c:128
|
||||
#: ../libvips/foreign/radsave.c:119 ../libvips/foreign/vipssave.c:125
|
||||
#: ../libvips/foreign/pngsave.c:166 ../libvips/iofuncs/image.c:945
|
||||
#: ../libvips/foreign/pngsave.c:168 ../libvips/iofuncs/image.c:945
|
||||
msgid "Filename"
|
||||
msgstr ""
|
||||
|
||||
@ -1297,7 +1297,7 @@ msgstr ""
|
||||
#: ../libvips/foreign/tiffsave.c:172 ../libvips/foreign/jpegsave.c:194
|
||||
#: ../libvips/foreign/csvsave.c:122 ../libvips/foreign/fitssave.c:129
|
||||
#: ../libvips/foreign/radsave.c:120 ../libvips/foreign/vipssave.c:126
|
||||
#: ../libvips/foreign/pngsave.c:167
|
||||
#: ../libvips/foreign/pngsave.c:169
|
||||
msgid "Filename to save to"
|
||||
msgstr ""
|
||||
|
||||
@ -1447,7 +1447,7 @@ msgstr ""
|
||||
msgid "save image to tiff file"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/tiffsave.c:178 ../libvips/foreign/pngsave.c:103
|
||||
#: ../libvips/foreign/tiffsave.c:178 ../libvips/foreign/pngsave.c:105
|
||||
msgid "Compression"
|
||||
msgstr ""
|
||||
|
||||
@ -1569,11 +1569,11 @@ msgid "save image to jpeg buffer"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/jpegsave.c:260 ../libvips/foreign/jpegload.c:315
|
||||
#: ../libvips/foreign/pngsave.c:228
|
||||
#: ../libvips/foreign/pngsave.c:230
|
||||
msgid "Buffer"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/jpegsave.c:261 ../libvips/foreign/pngsave.c:229
|
||||
#: ../libvips/foreign/jpegsave.c:261 ../libvips/foreign/pngsave.c:231
|
||||
msgid "Buffer to save to"
|
||||
msgstr ""
|
||||
|
||||
@ -1853,8 +1853,8 @@ msgstr ""
|
||||
msgid "end of file while skipping start"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/csv.c:246 ../libvips/iofuncs/util.c:1072
|
||||
#: ../libvips/iofuncs/util.c:1078
|
||||
#: ../libvips/foreign/csv.c:246 ../libvips/iofuncs/util.c:1084
|
||||
#: ../libvips/iofuncs/util.c:1090
|
||||
msgid "unable to seek"
|
||||
msgstr ""
|
||||
|
||||
@ -1954,27 +1954,27 @@ msgstr ""
|
||||
msgid "reading associated image: %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/pngsave.c:95
|
||||
#: ../libvips/foreign/pngsave.c:97
|
||||
msgid "save png"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/pngsave.c:104
|
||||
#: ../libvips/foreign/pngsave.c:106
|
||||
msgid "Compression factor"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/pngsave.c:110
|
||||
#: ../libvips/foreign/pngsave.c:112
|
||||
msgid "Interlace"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/pngsave.c:111
|
||||
#: ../libvips/foreign/pngsave.c:113
|
||||
msgid "Interlace image"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/pngsave.c:162
|
||||
#: ../libvips/foreign/pngsave.c:164
|
||||
msgid "save image to png file"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/pngsave.c:224
|
||||
#: ../libvips/foreign/pngsave.c:226
|
||||
msgid "save image to png buffer"
|
||||
msgstr ""
|
||||
|
||||
@ -2074,7 +2074,7 @@ msgstr ""
|
||||
msgid "file savers"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/foreign/foreign.c:1439
|
||||
#: ../libvips/foreign/foreign.c:1443
|
||||
msgid "Image to save"
|
||||
msgstr ""
|
||||
|
||||
@ -2315,7 +2315,7 @@ msgstr ""
|
||||
msgid "unable to create thread"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/sinkdisc.c:262 ../libvips/iofuncs/util.c:656
|
||||
#: ../libvips/iofuncs/sinkdisc.c:262 ../libvips/iofuncs/util.c:668
|
||||
msgid "write failed"
|
||||
msgstr ""
|
||||
|
||||
@ -2387,7 +2387,7 @@ msgstr ""
|
||||
msgid "unknown band format %d"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/header.c:611 ../libvips/iofuncs/generate.c:377
|
||||
#: ../libvips/iofuncs/header.c:611 ../libvips/iofuncs/generate.c:376
|
||||
msgid "too many images"
|
||||
msgstr ""
|
||||
|
||||
@ -2500,7 +2500,7 @@ msgstr ""
|
||||
msgid "bad image descriptor"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/image.c:1959 ../libvips/iofuncs/generate.c:716
|
||||
#: ../libvips/iofuncs/image.c:1959 ../libvips/iofuncs/generate.c:715
|
||||
#, c-format
|
||||
msgid "unable to output to a %s image"
|
||||
msgstr ""
|
||||
@ -2510,25 +2510,25 @@ msgstr ""
|
||||
msgid "auto-rewind for %s failed"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/image.c:2079 ../libvips/iofuncs/image.c:2274
|
||||
#: ../libvips/iofuncs/image.c:2291
|
||||
#: ../libvips/iofuncs/image.c:2079 ../libvips/iofuncs/image.c:2275
|
||||
#: ../libvips/iofuncs/image.c:2292
|
||||
msgid "no image data"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/image.c:2147 ../libvips/iofuncs/image.c:2314
|
||||
#: ../libvips/iofuncs/image.c:2147 ../libvips/iofuncs/image.c:2315
|
||||
msgid "image not readable"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/image.c:2168 ../libvips/iofuncs/image.c:2344
|
||||
#: ../libvips/iofuncs/image.c:2353
|
||||
#: ../libvips/iofuncs/image.c:2168 ../libvips/iofuncs/image.c:2345
|
||||
#: ../libvips/iofuncs/image.c:2354
|
||||
msgid "image already written"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/image.c:2192 ../libvips/iofuncs/image.c:2365
|
||||
#: ../libvips/iofuncs/image.c:2192 ../libvips/iofuncs/image.c:2366
|
||||
msgid "image not writeable"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/image.c:2238
|
||||
#: ../libvips/iofuncs/image.c:2239
|
||||
msgid "bad file type"
|
||||
msgstr ""
|
||||
|
||||
@ -2727,58 +2727,58 @@ msgstr ""
|
||||
msgid "mask must be 1D"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:639
|
||||
#: ../libvips/iofuncs/util.c:651
|
||||
msgid "unable to get file stats"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:720
|
||||
#: ../libvips/iofuncs/util.c:732
|
||||
#, c-format
|
||||
msgid "unable to open file \"%s\" for reading"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:742
|
||||
#: ../libvips/iofuncs/util.c:754
|
||||
#, c-format
|
||||
msgid "unable to open file \"%s\" for writing"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:767
|
||||
#: ../libvips/iofuncs/util.c:779
|
||||
#, c-format
|
||||
msgid "\"%s\" too long"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:784
|
||||
#: ../libvips/iofuncs/util.c:796
|
||||
msgid "out of memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:810
|
||||
#: ../libvips/iofuncs/util.c:822
|
||||
#, c-format
|
||||
msgid "error reading from file \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:857
|
||||
#: ../libvips/iofuncs/util.c:869
|
||||
#, c-format
|
||||
msgid "write error (%zd out of %zd blocks written) ... disc full?"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:1106 ../libvips/iofuncs/util.c:1113
|
||||
#: ../libvips/iofuncs/util.c:1118 ../libvips/iofuncs/util.c:1125
|
||||
msgid "unable to truncate"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:1204
|
||||
#: ../libvips/iofuncs/util.c:1216
|
||||
#, c-format
|
||||
msgid "unable to create directory \"%s\", %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:1338
|
||||
#: ../libvips/iofuncs/util.c:1350
|
||||
msgid "unexpected end of string"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:1356
|
||||
#: ../libvips/iofuncs/util.c:1368
|
||||
#, c-format
|
||||
msgid "expected %s, saw %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/util.c:1526
|
||||
#: ../libvips/iofuncs/util.c:1538
|
||||
#, c-format
|
||||
msgid "unable to make temporary file %s"
|
||||
msgstr ""
|
||||
@ -2823,11 +2823,11 @@ msgstr ""
|
||||
msgid "too much data"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/generate.c:640
|
||||
#: ../libvips/iofuncs/generate.c:639
|
||||
msgid "demand hint not set"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/generate.c:659 ../libvips/iofuncs/generate.c:684
|
||||
#: ../libvips/iofuncs/generate.c:658 ../libvips/iofuncs/generate.c:683
|
||||
msgid "generate() called twice"
|
||||
msgstr ""
|
||||
|
||||
@ -2883,67 +2883,71 @@ msgstr ""
|
||||
msgid "unable to mmap \"%s\" to same address"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:371
|
||||
#: ../libvips/iofuncs/init.c:380
|
||||
msgid "evaluate with N concurrent threads"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:374
|
||||
#: ../libvips/iofuncs/init.c:383
|
||||
msgid "set tile width to N (DEBUG)"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:377
|
||||
#: ../libvips/iofuncs/init.c:386
|
||||
msgid "set tile height to N (DEBUG)"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:380
|
||||
#: ../libvips/iofuncs/init.c:389
|
||||
msgid "set thinstrip height to N (DEBUG)"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:383
|
||||
#: ../libvips/iofuncs/init.c:392
|
||||
msgid "set fatstrip height to N (DEBUG)"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:386
|
||||
#: ../libvips/iofuncs/init.c:395
|
||||
msgid "show progress feedback"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:389
|
||||
#: ../libvips/iofuncs/init.c:398
|
||||
msgid "leak-check on exit"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:392
|
||||
#: ../libvips/iofuncs/init.c:401
|
||||
msgid "images larger than N are decompressed to disc"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:395
|
||||
#: ../libvips/iofuncs/init.c:404
|
||||
msgid "disable vectorised versions of operations"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:398
|
||||
#: ../libvips/iofuncs/init.c:407
|
||||
msgid "cache at most N operations"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:401
|
||||
#: ../libvips/iofuncs/init.c:410
|
||||
msgid "cache at most N bytes in memory"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:404
|
||||
#: ../libvips/iofuncs/init.c:413
|
||||
msgid "allow at most N open files"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:407
|
||||
#: ../libvips/iofuncs/init.c:416
|
||||
msgid "trace operation cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:410
|
||||
#: ../libvips/iofuncs/init.c:419
|
||||
msgid "dump operation cache on exit"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:433
|
||||
#: ../libvips/iofuncs/init.c:422
|
||||
msgid "print libvips version"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:445
|
||||
msgid "VIPS Options"
|
||||
msgstr ""
|
||||
|
||||
#: ../libvips/iofuncs/init.c:433
|
||||
#: ../libvips/iofuncs/init.c:445
|
||||
msgid "Show VIPS options"
|
||||
msgstr ""
|
||||
|
||||
@ -3505,59 +3509,59 @@ msgstr ""
|
||||
msgid "unknown action \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:61
|
||||
#: ../tools/vipsthumbnail.c:62
|
||||
msgid "set thumbnail size to SIZE"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:62
|
||||
#: ../tools/vipsthumbnail.c:63
|
||||
msgid "SIZE"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:64
|
||||
#: ../tools/vipsthumbnail.c:66
|
||||
msgid "set output to FORMAT"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:65
|
||||
#: ../tools/vipsthumbnail.c:67
|
||||
msgid "FORMAT"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:67
|
||||
#: ../tools/vipsthumbnail.c:70
|
||||
msgid "resample with INTERPOLATOR"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:68
|
||||
#: ../tools/vipsthumbnail.c:71
|
||||
msgid "INTERPOLATOR"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:70
|
||||
#: ../tools/vipsthumbnail.c:74
|
||||
msgid "don't sharpen thumbnail"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:72
|
||||
#: ../tools/vipsthumbnail.c:77
|
||||
msgid "export with PROFILE"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:73 ../tools/vipsthumbnail.c:76
|
||||
#: ../tools/vipsthumbnail.c:78 ../tools/vipsthumbnail.c:82
|
||||
msgid "PROFILE"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:75
|
||||
#: ../tools/vipsthumbnail.c:81
|
||||
msgid "import untagged images with PROFILE"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:78
|
||||
#: ../tools/vipsthumbnail.c:85
|
||||
msgid "delete profile from exported image"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:80
|
||||
#: ../tools/vipsthumbnail.c:88
|
||||
msgid "(deprecated, does nothing)"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:82
|
||||
#: ../tools/vipsthumbnail.c:91
|
||||
msgid "verbose output"
|
||||
msgstr ""
|
||||
|
||||
#: ../tools/vipsthumbnail.c:423
|
||||
#: ../tools/vipsthumbnail.c:432
|
||||
msgid "- thumbnail generator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -26,10 +26,10 @@ bin_SCRIPTS = \
|
||||
batch_image_convert \
|
||||
batch_rubber_sheet \
|
||||
batch_crop \
|
||||
vips-7.29
|
||||
vips-7.30
|
||||
|
||||
EXTRA_DIST = \
|
||||
vips-7.29 \
|
||||
vips-7.30 \
|
||||
light_correct.in \
|
||||
shrink_width.in \
|
||||
batch_image_convert.in \
|
||||
|
@ -57,28 +57,37 @@ static gboolean nodelete_profile = FALSE;
|
||||
static gboolean verbose = FALSE;
|
||||
|
||||
static GOptionEntry options[] = {
|
||||
{ "size", 's', 0, G_OPTION_ARG_INT, &thumbnail_size,
|
||||
{ "size", 's', 0,
|
||||
G_OPTION_ARG_INT, &thumbnail_size,
|
||||
N_( "set thumbnail size to SIZE" ),
|
||||
N_( "SIZE" ) },
|
||||
{ "output", 'o', 0, G_OPTION_ARG_STRING, &output_format,
|
||||
{ "output", 'o', 0,
|
||||
G_OPTION_ARG_STRING, &output_format,
|
||||
N_( "set output to FORMAT" ),
|
||||
N_( "FORMAT" ) },
|
||||
{ "interpolator", 'p', 0, G_OPTION_ARG_STRING, &interpolator,
|
||||
{ "interpolator", 'p', 0,
|
||||
G_OPTION_ARG_STRING, &interpolator,
|
||||
N_( "resample with INTERPOLATOR" ),
|
||||
N_( "INTERPOLATOR" ) },
|
||||
{ "nosharpen", 'n', 0, G_OPTION_ARG_NONE, &nosharpen,
|
||||
{ "nosharpen", 'n', 0,
|
||||
G_OPTION_ARG_NONE, &nosharpen,
|
||||
N_( "don't sharpen thumbnail" ), NULL },
|
||||
{ "eprofile", 'e', 0, G_OPTION_ARG_STRING, &export_profile,
|
||||
{ "eprofile", 'e', 0,
|
||||
G_OPTION_ARG_STRING, &export_profile,
|
||||
N_( "export with PROFILE" ),
|
||||
N_( "PROFILE" ) },
|
||||
{ "iprofile", 'i', 0, G_OPTION_ARG_STRING, &import_profile,
|
||||
{ "iprofile", 'i', 0,
|
||||
G_OPTION_ARG_STRING, &import_profile,
|
||||
N_( "import untagged images with PROFILE" ),
|
||||
N_( "PROFILE" ) },
|
||||
{ "delete", 'd', 0, G_OPTION_ARG_NONE, &delete_profile,
|
||||
{ "delete", 'd', 0,
|
||||
G_OPTION_ARG_NONE, &delete_profile,
|
||||
N_( "delete profile from exported image" ), NULL },
|
||||
{ "nodelete", 'l', 0, G_OPTION_ARG_NONE, &nodelete_profile,
|
||||
{ "nodelete", 'l', G_OPTION_FLAG_HIDDEN,
|
||||
G_OPTION_ARG_NONE, &nodelete_profile,
|
||||
N_( "(deprecated, does nothing)" ), NULL },
|
||||
{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
|
||||
{ "verbose", 'v', 0,
|
||||
G_OPTION_ARG_NONE, &verbose,
|
||||
N_( "verbose output" ), NULL },
|
||||
{ NULL }
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user