Přihlásit se

Joomla 5.2.2 Security & Bugfix Release

Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.

nerozdělitelné mezery

11. úno 2013 08:36 #103861
nerozdělitelné mezery od Radim
Uživatel
Hezký den,
coby původem sazeče mě irituje problém... Nenašel jsem způsob jak nějak automaticky vyřešit pevné mezery za neslabičnými předložkami a jednoznakovými spojkami. Jednak je to neestetické a jednak je to pravopisně blbě. Neexistuje nějaké řešení pro jakýkoliv editor? JCE, JCK, TinyMCE? Psát je ručně ja fekt dost šílený...
Díky, Radim

11. úno 2013 08:57 #103862
Odpověď od Bong
Moderátor
Na nedělitelné mezery má každý editor tlačítko. Ale automaticky, to nevím, snad použít nějakou vychytávku, jako třeba Code Snippets .

I'm sorry, my responses are limited...you must ask the right questions.

11. úno 2013 09:06 #103863
Odpověď od Radim
Uživatel
Jo, jo... to tlačítko znám. Spíš jsem myslel, jestli neexistuje něco podobného tomuto (tohle je pro zlomovou aplikaci):

//WiszaceSpojniki.js by Henryk Jursz, HenJ, www.jursz.com , may - june 2007, september 2007
//InDesign&InCopy CS/CS2/CS3 script

WS_Script = "WiszaceSpojniki 1.1, \u00a92007 Henryk Jursz";

if (((app.name == "Adobe InDesign") || (app.name == "Adobe InCopy")) && (app.documents.length != 0))
{
(app.version[0] < "4") ? (app.userInteractionLevel = UserInteractionLevels.interactWithAll) : (app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll);
var WS_Select = new Array;
for (x = app.selection.length-1; x > -1 ; x --)
{
if ((app.selection[x].constructor.name == "Cell") || (app.selection[x].constructor.name == "Character")
|| (app.selection[x].constructor.name == "Column") || (app.selection[x].constructor.name == "Line")
|| (app.selection[x].constructor.name == "Paragraph") || (app.selection[x].constructor.name == "Row")
|| (app.selection[x].constructor.name == "Story") || (app.selection[x].constructor.name == "Table")
|| (app.selection[x].constructor.name == "Text") || (app.selection[x].constructor.name == "TextColumn")
|| (app.selection[x].constructor.name == "TextFrame") || (app.selection[x].constructor.name == "TextStyleRange")
|| (app.selection[x].constructor.name == "TextPath") || (app.selection[x].constructor.name == "Word"))
{
(app.selection[x].contents.length > 1) ? (WS_Select.push(app.selection[x])) : {};
}
if (app.selection[x].constructor.name == "Group")
{
for (y = app.selection[x].textFrames.length-1; y > -1; y --)
{
(app.selection[x].textFrames[y].contents.length > 1) ? (WS_Select.push(app.selection[x].textFrames[y])) : {};
}
for (y = app.selection[x].groups.length-1; y > -1; y --)
{
for (z = app.selection[x].textFrames.length-1; z > -1; z --)
{
(app.selection[x].groups[y].textFrames[z].contents.length > 1) ? (WS_Select.push(app.selection[x].groups[y].textFrames[z])) : {};
}
}
}
}
myScriptFRClear();
if (app.version[0] < "5")
{
if ((WS_Select.length == 1) && (WS_Select[0].constructor.name == "Text"))
{
function myScriptFR(WS_What, WS_ForWhat, WS_Styles)
{
var myWS_check = new Array;
app.changePreferences.noBreak = WS_Styles;
myWS_check = app.selection[0].search(WS_What, false, true, WS_ForWhat)
}
}
else
{
function myScriptFR(WS_What, WS_ForWhat, WS_Styles)
{
var myWS_check = new Array;
app.changePreferences.noBreak = WS_Styles;
for (WS_loop = WS_Select.length-1; WS_loop > -1; WS_loop --)
{
myWS_check = WS_Select[WS_loop].search(WS_What, false, true, WS_ForWhat);
}
}
}
var myWS_TmpArr = [",", ".", ":", ";", "!", "?", "(", "{", "[", " ", "^n", "^t", "^p", "^s"];
var myWS_FindArray = ["a", "A", "i", "I", "k", "K", "o", "O", "s", "S", "u", "U", "v", "V", "z", "Z"];
for (x = 0; x < myWS_FindArray.length; x ++)
{
for (y = 0; y < myWS_TmpArr.length; y ++)
{
try
{
myScriptFR(myWS_TmpArr[y] + myWS_FindArray[x] + " ", myWS_TmpArr[y] + myWS_FindArray[x] + "^s", false);
}
catch (e) {}
}
}
}
else myScriptFRCS3("((?<=\\<[a|i|k|o|s|u|v|z|A|I|K|O|S|U|V|Z]) )", "~S", false);
(app.version[0] < "5") ? (myScriptFR("^s", " ", true)) : {};
myScriptFRClear();
}//end char - don't touch!!

function myScriptFRClear()
{
if (app.version[0] < "5")
{
app.findPreferences = NothingEnum.nothing;
app.changePreferences = NothingEnum.nothing;
}
else
{
app.findGrepPreferences = NothingEnum.nothing;
app.changeGrepPreferences = NothingEnum.nothing;
app.findChangeGrepOptions.includeFootnotes = true;
app.findChangeGrepOptions.includeHiddenLayers = false;
app.findChangeGrepOptions.includeLockedLayersForFind = false;
app.findChangeGrepOptions.includeLockedStoriesForFind = false;
app.findChangeGrepOptions.includeMasterPages = false;
}
}

function myScriptFRCS3(WS_What, WS_ForWhat, WS_Styles)
{
var myWS_check = new Array;
app.findGrepPreferences.findWhat = WS_What;
app.changeGrepPreferences.changeTo = WS_ForWhat;
app.changeGrepPreferences.noBreak = WS_Styles;
if ((WS_Select.length == 1) && (WS_Select[0].constructor.name == "Text"))
{
myWS_check = app.selection[0].changeGrep();
}
else for (WS_loop = WS_Select.length-1; WS_loop > -1; WS_loop --)
{
myWS_check = WS_Select[WS_loop].changeGrep();
}
}
//end of HardBreaker script (by Henryk Jursz, HenJ 2007)

11. úno 2013 09:24 #103865
Odpověď od ghost
Zkušený uživatel
tak pokud vim, nic takoveho neni
ono je totiz i rozdil mezi typografii tistenou a typografii webovou
bezne se na webu neresi:
pomlcka vs. spojovnik vs. minus vs. dlouha pomlcka (historicka)
radkovy zlom
tri tecky vs. vypustka
eng uvozovky vs. cz uvozovky
nasobeni - tecka, hvezdicka, krat
...
naslo by se toho vice a resit to na webu mi v komplexnim pohledu prijde jako kontraproduktivni

Joomla! pro každého

11. úno 2013 09:37 #103868
Odpověď od Radim
Uživatel
Jo, jasněže jsou tyto dva přístupy k typografii odlišné. To jen, že rozjíždím stránky, kde se cituje m. j. i z klasické literatury a tak... Zjevně nezbývá než holt klofat na tlačítko v editoru. I tak díky... Radim

11. úno 2013 11:14 #103872
Odpověď od Bart
Moderátor
Pokud chcete něco jednoduchého a funkčního, tak si to nechte napsat jako rozšíření. Pokud se vám to vyplatí.

Powered by Fórum