public static SizeAndOrientation FromString(string name)
{
var nameLower = name.ToLowerInvariant();
var startOfOrientationName = Math.Max(nameLower.IndexOf("landscape"), nameLower.IndexOf("portrait"));
if(startOfOrientationName == -1)
{
Debug.Fail("No orientation name found in '"+nameLower+"'");
return new SizeAndOrientation()
{
IsLandScape=false,
PageSizeName = "A5"
};
}
return new SizeAndOrientation()
{
IsLandScape = nameLower.Contains("landscape"),
PageSizeName = ExtractPageSizeName(name, startOfOrientationName),
};
}