Не секрет, что наши российские админы очень любят FreeBSD. На западных хостингах и в корпоративном секторе она встречается реже.
Поэтому решение проблем в настройках генерации изображений в TYPO3 на FreeBSD не так легко найти в Google.
Какие это проблемы:
1) наложение изображений не работает как следует (на выходе не имеем ничего, либо плохое качество)
2) неверное расстояние между буквами в словах, созданных TTF шрифтами (т.е. проблемы в работе GD в PHP5)
Какак можно решить эти проблемы:
1) настройки параметров в localconf.php
PHP код:
$TYPO3_CONF_VARS["GFX"]["TTFdpi"] = '96'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['gdlib_2'] = '1'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['gdlib_png']='1';
$TYPO3_CONF_VARS['GFX']['gif_compress'] = '0'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['png_truecolor'] = '1'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['im_version_5'] = 'im6'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']["im_path"] = '/usr/local/bin/'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']["im_path_lzw"] = '/usr/local/bin/'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['im_combine_filename'] = 'composite'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['im_no_effects'] = '0'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['im_v5effects'] = '1'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['im_negate_mask'] = '1'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['im_imvMaskState'] = '1'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['im_mask_temp_ext_noloss'] = 'png';
$TYPO3_CONF_VARS['GFX']['im_mask_temp_ext_gif'] = '0'; // Modified or inserted by TYPO3 Install Tool.
//$TYPO3_CONF_VARS['GFX']['enable_typo3temp_db_tracking'] = '1'; // Modified or inserted by TYPO3 Install Tool.
2) использование nicetext в TS
(nicetext реализует такую вещь: GD печатает буквы в 2-5 раз больше, а затем картинки уменьшаются до нужного размера)
Приведу полный пример DS для одного FCE с графическим текстом и картинкой для сайта на котором используется DAM.
Код:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3DataStructure>
<meta type="array">
<langDisable>1</langDisable>
</meta>
<ROOT type="array">
<tx_templavoila type="array">
<title>ROOT</title>
<description>Выберите HTML-элемент на странице, который будет содержать все остальные элементы</description>
</tx_templavoila>
<type>array</type>
<el type="array">
<field_img1 type="array">
<tx_templavoila type="array">
<title>Image1</title>
<sample_data type="array">
<numIndex index="0"></numIndex>
</sample_data>
<eType>dam_image</eType>
<TypoScript><![CDATA[
10 = LOAD_REGISTER
10{
vall.cObject = USER
vall.cObject{
userFunc = tx_damtvc_tsfe->fetchFileList
}
}
11=TEXT
11.typolink.parameter.field = field_link
11.typolink.returnLast = url
11.wrap = <a href="|"
20 = IMG_RESOURCE
20.stdWrap.wrap = class="img" style="width:165px;height:165px;background-image:url(|)"><!--IMAGE--></a>
20.file = GIFBUILDER
20.file.XY = 165,330
20.file.10 = IMAGE
20.file.10.insertData = 1
20.file.10.file.import.data=register:vall
20.file.11 = EFFECT
20.file.11.value = gray
20.file{
12 = TEXT
12.text.field =field_text
12.text.listNum.splitChar=10
12.text.listNum=0
12.fontSize=18
12.fontColor=#9D9D9E
12.fontFile = fileadmin/templates/fonts/FTX85__U.TTF
12.offset=7,20
#12.niceText=0
12.niceText = 1
12.niceText.sharpen = 0
12.niceText.scaleFactor = 5
#12.wordSpacing = -4
#12.spacing = 0
13 <.12
13.text.listNum=1
13.offset=7,20+[12.h]+7
14 <.12
14.text.listNum=2
14.offset=7,22+[12.h]+[13.h]+7
}
20.file.20 = IMAGE
20.file.20.insertData = 1
20.file.20.file.import.data=register:vall
20.file.20.offset=0,165
20.file.30 = TEXT
20.file.30.text.field =field_text
20.file.30.text.listNum.splitChar=10
20.file.30.text.listNum=0
20.file.30.fontSize=18
20.file.30.fontColor=#9D9D9E
20.file.30.fontFile = fileadmin/templates/fonts/FTX85__U.TTF
20.file.30.offset=7,185
20.file.30.niceText = 1
20.file.30.niceText.sharpen = 0
20.file.30.niceText.scaleFactor = 5
#20.file.30.wordSpacing = -4
#20.file.30.spacing = 0
20.file.31 < 20.file.30
20.file.31.text.listNum=1
20.file.31.offset=7,185+[30.h]+7
20.file.32 < 20.file.30
20.file.32.text.listNum=2
20.file.32.offset=7,187+[30.h]+[31.h]+7
///////////////////////////////
]]></TypoScript>
</tx_templavoila>
<TCEforms type="array">
<config type="array">
<form_type>user</form_type>
<userFunc><![CDATA[EXT:dam/lib/class.tx_dam_tcefunc.php:&tx_dam_tceFunc->getSingleField_typeMedia]]></userFunc>
<type>group</type>
<internal_type>db</internal_type>
<allowed>tx_dam</allowed>
<prepend_tname type="integer">1</prepend_tname>
<MM>tx_dam_mm_ref</MM>
<MM_foreign_select type="integer">1</MM_foreign_select>
<MM_opposite_field>file_usage</MM_opposite_field>
<MM_match_fields type="array">
<ident>field_img1</ident>
</MM_match_fields>
<allowed_types>gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai</allowed_types>
<max_size>1000</max_size>
<show_thumbs type="integer">1</show_thumbs>
<size type="integer">5</size>
<maxitems type="integer">200</maxitems>
<minitems type="integer">0</minitems>
<autoSizeMax type="integer">30</autoSizeMax>
</config>
<label>Image1</label>
</TCEforms>
</field_img1>
<field_link type="array">
<type>attr</type>
<tx_templavoila type="array">
<title>Link</title>
<sample_data type="array">
<numIndex index="0"></numIndex>
</sample_data>
<eType>link</eType>
<tags>a:attr:href</tags>
<TypoScript>
10 = TEXT
10.typolink.parameter.current = 1
10.typolink.returnLast = url
</TypoScript>
<proc type="array">
<HSC type="integer">1</HSC>
</proc>
</tx_templavoila>
<TCEforms type="array">
<config type="array">
<type>input</type>
<size>15</size>
<max>256</max>
<checkbox></checkbox>
<eval>trim</eval>
<wizards type="array">
<_PADDING type="integer">2</_PADDING>
<link type="array">
<type>popup</type>
<title>Link</title>
<icon>link_popup.gif</icon>
<script>browse_links.php?mode=wizard</script>
<JSopenParams>height=300,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
</link>
</wizards>
</config>
<label>Link</label>
</TCEforms>
</field_link>
<field_text type="array">
<tx_templavoila type="array">
<title>Grafical text</title>
<sample_data type="array">
<numIndex index="0"></numIndex>
</sample_data>
<eType>text</eType>
<proc type="array">
<HSC type="integer">1</HSC>
</proc>
</tx_templavoila>
<TCEforms type="array">
<config type="array">
<type>text</type>
<cols>48</cols>
<rows>5</rows>
</config>
<label>Grafical text</label>
</TCEforms>
</field_text>
</el>
</ROOT>
</T3DataStructure>
Актуальный конфиг для Linux (делался для Altlinux, на REDHAT Enterprise 5.2 i686 заработал сразу)
PHP код:
$TYPO3_CONF_VARS['GFX']['gdlib_2'] = '1';
$TYPO3_CONF_VARS['GFX']['gdlib_png'] = 1;
$TYPO3_CONF_VARS["GFX"]["TTFdpi"] = '96';
$TYPO3_CONF_VARS['GFX']['png_truecolor'] = '1';
//$TYPO3_CONF_VARS['GFX']['gif_compress'] = 0;
$TYPO3_CONF_VARS['GFX']['im_version_5'] = 'im5'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']["im_path"] = '/usr/bin/'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']["im_path_lzw"] = '/usr/local/bin/';
$TYPO3_CONF_VARS['GFX']['im_combine_filename'] = 'composite'; // Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']['im_imvMaskState']= '0';
$TYPO3_CONF_VARS['GFX']['im_no_effects'] = '0';
$TYPO3_CONF_VARS['GFX']['im_v5effects'] = '1';
$TYPO3_CONF_VARS['GFX']['im_negate_mask'] = '1';
$TYPO3_CONF_VARS['GFX']['im_mask_temp_ext_gif'] = '0';
$TYPO3_CONF_VARS['GFX']['im_mask_temp_ext_noloss'] = 'miff';